python - 在 session 中保留 Django 用户

标签 python django authentication django-authentication

我正在使用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/

相关文章:

python - 使用 scikit-learn 训练模型的更快方法

python - 将用户重定向到新 URL

authentication - TestBenchTestCase 中的依赖注入(inject)

python - 如何删除xarray中的维度?

Windows 上的 Python CPU 时间

python - 如何将静态CSS加载到django模板中

angular - 没有 AuthHttp 的提供者!在 angular2-jwt 上

javascript - hapi认证方案 : Set custom header

python - 使用 Bigquery 测试 yaml 的远大期望

django - 在 Linux 中使用特殊字符时 Django Admin 出现 UnicodeDecode 错误(使用 postgresql)