首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修改Django的认证模块?

如何修改Django的认证模块?
EN

Stack Overflow用户
提问于 2011-07-25 13:42:34
回答 1查看 324关注 0票数 2

我对Django比较陌生,正在尝试对Django的核心身份验证模块进行一些更改。我在django.contrib.auth.backends.pyModelBackend类的authenticate方法中添加了一些根据用户的电子邮件地址对用户进行身份验证的新代码,但是这个新代码似乎没有任何效果,即使我将以下内容添加到我的设置中也是如此。

代码语言:javascript
运行
复制
AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
)

实际上,我删除了整个authenticate方法,仍然能够很好地登录到我的Django应用程序中。有人知道我在哪里出错了吗?最好的方法是修改Django的核心身份验证系统吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-25 14:16:02

您应该将django.contrib.auth.backends.ModelBackend后端导入到一个模块中,对其进行子类化,覆盖流程中的authenticate,然后将AUTHENTICATION_BACKENDS指向您的子类。请参阅手册中关于writing your own authentication backend的部分。

不要直接更改django.contrib中的任何内容。

当你把东西取出来的时候,身份验证成功了,我一点也不惊讶。Django的身份验证是一个附加组件;Django需要能够在没有它的情况下工作,所以默认设置是"allow“。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6812167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档