Django通过外部提供商进行身份验证

时间:2013-11-21 02:42:18

标签: python django authentication

我正在学习python和django,我建立了一个相当不错的网站来管理数据库和搜索页面。我现在有点困惑的新要求是认证应该通过外部提供程序完成(尚未知,但可能是LDAP或Kerberos票证)。

我的想法是通过此服务对用户进行身份验证,如果成功将用户添加到我的django创建的数据库中,使用syncdb(我有权限和组),然后绕过此用户进行身份验证,以使他们能够在站点中执行操作

听起来合理吗?这种认证有“接受”的方法吗?我不确定是否必须编写自己的身份验证视图。

感谢。

2 个答案:

答案 0 :(得分:1)

Django支持连接其他身份验证后端。

如果您通过某些常见界面(如LDAP)进行身份验证,我相信您必须编写自己的身份验证后端或使用第三方后端。

文档解释了如何在此处编写身份验证后端:https://docs.djangoproject.com/en/1.5/topics/auth/customizing/

如果您打算使用LDAP,我建议您查看django-auth-ldap(https://pypi.python.org/pypi/django-auth-ldap)。

答案 1 :(得分:1)

这听起来很合理。有几种方法可以实现这一点:使用第三方库,如django-social-auth,它使用第三方应用程序通过Django用户模型对用户进行身份验证。另一种方法是编写自己的自定义后端,使用OAuth2协议通过第三方应用程序(例如Twitter)对用户进行身份验证,并将其保存/授权为应用程序的Django用户。这可能听起来很难,但很容易。我编写了一个示例Django应用程序来演示此功能,并提供自定义后端身份验证的教程。这个app / tutorial使用Django 1.5:djangoauth.thecloutenproject.com /

相关问题