Django:正确序列化自定义身份验证后端

2024-09-29 18:42:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django1.10中有一个自定义的身份验证后端。如果我登录,我得到TypeError: <class 'CustomAuthBackend'> is not JSON serializable。我可以通过将SESSION_SERIALIZER='django.contrib.sessions.serializers.PickleSerializer'放入settings.py来完成整个过程,但是,正如许多老问题中所指出的,PickleSerializer是不安全的,我需要一个更好的方法。在

如何为我的身份验证后端编写正确的序列化程序?我尝试使用来自https://github.com/caffeinehit/django-oauth2-provider/pull/56/files的代码(将serialize()和{}添加到我的身份验证后端类,并将serialize_instance()和{}作为单独的函数)。我不能用这种方法工作,有什么建议吗?在


Tags: django方法身份验证jsonissessionnotcontrib
2条回答

我正在进行自定义身份验证,它运行得很好,但当尝试以Json形式发送响应时,它给了我一个错误:CustomAuthentication is not Json serialize。在

所以我在我的设置.py在

SESSION_SERIALIZER='django.contrib.sessions.serializers.PickleSerializer'

注意:我使用django1.10和基于类的视图

我提出的所有上述建议都是不必要的(而且太复杂了,因为我找到的解决方案要简单得多)。在

我只需要在后端的authenticate方法中添加user.backend=CustomAuthBackend行,就在return user之前。解决了我所有的问题。在

相关问题 更多 >

    热门问题