Django-在同一项目中完全分离的两个身份验证系统

Django-在同一项目中完全分离的两个身份验证系统,django,authentication,Django,Authentication,我有一个使用django的项目。现在,必须完全分离身份验证系统(使用不同的表、身份验证后端、用户、用户信息等)的需求出现了 有没有办法让django代替设置request.user,设置request.myotherappuser 那么默认的身份验证系统呢?我仍然可以使用它来验证那些“新用户”并让他们登录吗 提前感谢。我从您的短语“验证那些‘新用户’并让他们登录”中假设您有一些旧系统,您希望从中验证用户身份 为什么不让人们登录旧的后端,然后在django.contrib.auth中为他们创建

我有一个使用django的项目。现在,必须完全分离身份验证系统(使用不同的表、身份验证后端、用户、用户信息等)的需求出现了

  • 有没有办法让django代替设置request.user,设置
    request.myotherappuser
  • 那么默认的身份验证系统呢?我仍然可以使用它来验证那些“新用户”并让他们登录吗

提前感谢。

我从您的短语“验证那些‘新用户’并让他们登录”中假设您有一些旧系统,您希望从中验证用户身份

为什么不让人们登录旧的后端,然后在
django.contrib.auth
中为他们创建一个“新”帐户呢


您还可以使用Dj1.5创建对用户模型的扩展,该扩展允许您引用“旧”表,如
request.user.myappotheruser

是否有方法使用Dj1.4.3(第三段)?@patrickbasut是:您可以使用将自定义验证器应用程序中的额外字段添加到用户表中。请记住将其设置为OneToOneField(null=True,blank=True)。对不起,我还不太明白。如何将request.myappotheruser分配给旧表?请注意,我不想要request.user.something。我在考虑一个中间件。我不想要request.user.something的原因是因为已经有一个中间件在处理request.user。所以现在,它给了我一个错误(因为中间件依赖于它不存在的属性)。但是,如果我使用request.myotheruser,这将很好地工作。有这样的方法吗?嗯,您可以编写自己的中间件,首先执行并在请求时设置该属性。但是如果我登录用户,django将自动设置request.user变量。然后,如果一个用户已经登录到另一个系统,我将覆盖他,并且无法返回。或许,我会的。使用临时变量保存旧用户。不,不可能。请看,这里的问题是,当调用django.contrib.auth.login时,django将(在没有中间件的情况下)覆盖request.user var。