Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django,访问生成元属性的页面之外的元属性_Django_Django Views - Fatal编程技术网

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

django,访问生成元属性的页面之外的元属性,django,django-views,Django,Django Views,因此,基本上,我使用django中的PersistentRemoteUsermiddelware通过登录页面处理身份验证请求,该页面由apache使用pubcookie 我可以做基本的user.is_authenticatedbit很好,但我的问题是我有两种类型的用户需要两种不同的身份验证。我有需要通过双因素身份验证的管理员用户和只使用用户/密码的标准用户 通过访问:self.request.META['AUTH\u type'],可以轻松地在登录页面上查看身份验证类型,根据authtype`,

因此,基本上,我使用django中的
PersistentRemoteUser
middelware通过登录页面处理身份验证请求,该页面由
apache
使用
pubcookie

我可以做基本的
user.is_authenticated
bit很好,但我的问题是我有两种类型的用户需要两种不同的身份验证。我有需要通过双因素身份验证的管理员用户和只使用用户/密码的标准用户

通过访问:
self.request.META['AUTH\u type'],可以轻松地在登录页面上查看身份验证类型,根据
authtype`,它将被读取为“SecureID”或“NetID”

但是我需要能够在不同的页面上执行检查,以查看用户是否使用
secureid
netid
进行了身份验证,以确定页面的哪些部分是可查看的,或者是否允许他们查看页面。但是
元数据
不存在于初始登录页面之外,只有
请求。用户
数据,除非我遗漏了什么,否则它不包含任何类型的
身份验证类型

是否可以从另一个页面访问
元数据
,或者将用户authtype保存到会话中携带的某种
post
session
变量


很抱歉,如果这个问题有点……愚蠢,我对django还是相当陌生的,并且仍然试图对它的某些方面进行思考。

您已经回答了您的问题

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

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

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

谢谢你,我很笨。我在某个地方读到一些东西,让我觉得使用会话变量并不是那么简单,而且找不到任何关于它的信息。哈哈:)(也许你需要休息一下)。但这是文件中的参考。。。非常感谢。我不知道我怎么没找到。现在一切似乎都好了。非常感谢。
if request.session['auth_type'] == 'SecureID':
    # do two factor auth stuff
    pass
else:
    # do normal stuff
    pass