我正在使用RemoteUserMiddleware使用 VAS 进行身份验证.
现在,我将其设置为仅针对我的 SSO 登录 URL (/accounts/login/sso/
) 设置 REMOTE_USER
变量,因为我必须允许我的用户通过表单登录(对于不在我们的 SSO 系统中的用户)。根据我的调试,用户在 VasMiddleware
中得到了正确的身份验证(它扩展了 RemoteUserMiddleware
来预处理 REMOTE_USER
),但是在用户被重定向之后到主页 (/
),身份验证丢失。
如何保留用户已登录的信息?
最佳答案
Django 1.9将有一个 PersistentRemoteUserMiddleware
,当身份验证 header 仅出现在登录页面上时,它将起作用。
如果你看patch ,在 Django 1.8 中做类似的事情应该不会太难。我会尝试覆盖process_request
,以便它不会调用self._remove_invalid_user(request)
来注销您的用户(这可能最终会重复大量代码),或者覆盖 _remove_invalid_user
本身。
关于python - 在 session 中保留 Django 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32397474/