在会话中坚持Django用户

时间:2015-09-04 11:56:23

标签: python django authentication django-authentication

我正在使用RemoteUserMiddlewareVAS进行身份验证。

现在我进行了设置,以便仅为我的SSO登录URL(REMOTE_USER)设置/accounts/login/sso/变量,因为我必须允许我的用户通过表单登录(对于我们不在的用户) SSO系统)。根据我的调试,用户在VasMiddleware(将RemoteUserMiddleware扩展到预处理REMOTE_USER)中进行了正确的身份验证,但是在用户被重定向到主页后{{1} }),身份验证丢失。

如何保留用户已登录的信息?

1 个答案:

答案 0 :(得分:2)

Django 1.9将有一个PersistentRemoteUserMiddleware,当验证标头仅出现在登录页面上时,它将起作用。

如果你看一下patch,在Django 1.8中做类似的事情应该不会太难。我会尝试覆盖process_request,以便它不会调用self._remove_invalid_user(request)来注销您的用户(最终可能会复制大量代码),或者覆盖_remove_invalid_user本身。