我正在嘗試登錄用戶。創建他的個人資料後。 但是當他授權他時,他以匿名用戶身份登錄。Django以匿名用戶身份登錄?
from django.contrib.auth import authenticate as authorise
def shopify_register(request):
print "############*****GOT DETAILS*****############"
password = request.POST['pass']
subs, stat = Subscription.objects.get_or_create(validity=datetime.now()+timedelta(days=30))
newuser, stat = User.objects.get_or_create(username=request.POST['email'])
newuser.set_password(password)
newuser.save()
user, stat = UserProfile.objects.get_or_create(subscription=subs,user=newuser)
domain, stat = Domain.objects.get_or_create(user_profile=user, shortname=request.POST['shop_name'], keywords=request.POST['keywords'])
profile,stat = ShopifyUserProfile.objects.get_or_create(shop_user =user.. etc)
username = request.POST['email']
authuser = authorise(username=username, password=mdpass)
domain = Domain.objects.get(user_profile=user)
testimonies = Testimony.objects.filter(domain=domain).filter(show=0).order_by('-timestamp')
c = RequestContext(request, {
'user' : user,
'testimonies': testimonies,
'request': request,
'mentions': 1,
'domain': domain
})
return render_to_response('homepage.html', context_instance=c)
UPDATE:
authuser = authorise(username=username, password=mdpass)
這並不授權用戶。儘管用戶已經創建。
它工作正常,但它將用戶記錄爲匿名用戶?這裏有什麼問題?
刪除了md5散列,但仍然沒有授權用戶。
更新:2
ipdb> authuser = authorise(username=username, password=password)
ipdb> authuser
<User: [email protected]>
ipdb> temp=auth_login(request,authuser)
ipdb> temp
ipdb> print temp
None
這意味着它已授權用戶,但它無法登錄他
我不知道你要在這裏做什麼,但是在將密碼傳遞給'set_password'之前,你絕對不應該對密碼進行哈希處理 - 該方法需要處理哈希本身。 –
我正在嘗試驗證用戶。用戶類是基本Django用戶模型的派生用戶。 –
我可以看到,但我的觀點依然存在。你不應該在那裏散列密碼。 –