Ros*_*oss 12 python authentication django
我想让我的User对象都具有相同的基本行为,为此我需要向Anonymous User添加几个方法/属性.
我已经将User子类化为更丰富的用户对象,但我想知道是否有人对匿名用户做了同样的事情?如果有任何首选方式!
Dan*_*man 10
你的中间件建议让我思考,我现在认为最好的想法是覆盖标准AuthenticationMiddleware.该类为LazyUser请求分配一个对象,该对象在被访问时通过调用解析给正确的用户contrib.auth.get_user.这可能是覆盖事物的正确位置,因此它会调用get_user返回子类的自定义函数AnonymousUser.
一个更简单、更通用(但不太安全)的解决方案是django.contrib.auth.models.AnonymousUser用你自己的类替换:
class YourAnonymousUser(...):
...
import django.contrib.auth.models as django_auth_models
django_auth_models.AnonymousUser = YourAnonymousUser
Run Code Online (Sandbox Code Playgroud)
从 1.10.5 开始,Django 延迟导入匿名用户类,因此您不会遇到核心 Django 的问题。您也很少AnonymousUser直接与之交互,因为您可以直接使用.is_anonymous(),所以只要您知道您的依赖项如何使用AnonymousUser.
| 归档时间: |
|
| 查看次数: |
2778 次 |
| 最近记录: |