基本上,我使用django中的PersistentRemoteUser
middelware通过apache
使用pubcookie
我可以做基本的user.is_authenticated
位,但我的问题来自于我有两种类型的用户需要两种不同的身份验证。我的管理员用户需要使用2因素身份验证进行身份验证,而标准用户只需要使用用户/密码
通过访问:self.request.META['AUTH_TYPE'] which will read as either "SecureID" or "NetID" depending on the
authtype`,可以在登录页面上轻松查看身份验证类型。
但我需要能够对不同的网页执行检查,以查看用户是否通过secureid
或netid
进行了身份验证,以确定页面的哪些部分是可见的,或者是否允许他们看完了一页。但meta data
在初始登录页面之外不存在,只有request.user
数据,除非我遗漏某些内容,否则不包含任何类型的auth_type
。< / p>
是否可以从其他网页访问metadata
,或者将用户authtype保存到会话中携带的某种post
或session
变量?
很抱歉,如果这个问题有点......愚蠢,我对django仍然是一个新手,仍然试图绕过它的某些方面。
答案 0 :(得分:1)
您已回答了您的问题。
使用会保留该值的会话(只要会话处于活动状态)。
request.session['auth_type'] = 'SecureID'
然后,您始终可以根据之前存储的会话值做出决定。
if request.session['auth_type'] == 'SecureID':
# do two factor auth stuff
pass
else:
# do normal stuff
pass