django,访问生成它们的页面之外的元属性

时间:2017-03-30 20:18:22

标签: django django-views

基本上,我使用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`,可以在登录页面上轻松查看身份验证类型。

但我需要能够对不同的网页执行检查,以查看用户是否通过secureidnetid进行了身份验证,以确定页面的哪些部分是可见的,或者是否允许他们看完了一页。但meta data在初始登录页面之外不存在,只有request.user数据,除非我遗漏某些内容,否则不包含任何类型的auth_type。< / p>

是否可以从其他网页访问metadata,或者将用户authtype保存到会话中携带的某种postsession变量?

很抱歉,如果这个问题有点......愚蠢,我对django仍然是一个新手,仍然试图绕过它的某些方面。

1 个答案:

答案 0 :(得分:1)

您已回答了您的问题。

使用会保留该值的会话(只要会话处于活动状态)。

request.session['auth_type'] = 'SecureID'

然后,您始终可以根据之前存储的会话值做出决定。

if request.session['auth_type'] == 'SecureID':
    # do two factor auth stuff
    pass
else:
    # do normal stuff
    pass
相关问题