|
Description:
I found django's auth module is too complex for my needs, instead I wrote a relative simple one, but I miss the login_required decorator in django auth module, so I decide to write a new one.
Source: Text Source
def myuser_login_required(f):
def wrap(request, *args, **kwargs):
if 'userid' not in request.session.keys():
return HttpResponseRedirect("/mysite/login")
return f(request, *args, **kwargs)
wrap.__doc__=f.__doc__
wrap.__name__=f.__name__
return wrap
@myuser_login_required
def myuser_create(request):
import md5
def my_login(request):
if request.POST:
try:
m = myuser.objects.filter(userid__exact=request.POST['userid'])
if str(m.get().password) == md5.md5(request.POST["password"]).hexdigest():
request.session['userid'] = str(m.get().userid)
else:
raise
except:
return HttpResponseRedirect("/mysite/login")
Discussion:
I didn't find an elegent way to extends the auth module and the login_required decorator, so instead, I write my simple one. The way how I redirect the web page is naive but it already fits my need.
|