我正在学习python和django,我建立了一个相当不错的网站来管理数据库和搜索页面。我现在有点困惑的新要求是认证应该通过外部提供程序完成(尚未知,但可能是LDAP或Kerberos票证)。
我的想法是通过此服务对用户进行身份验证,如果成功将用户添加到我的django创建的数据库中,使用syncdb(我有权限和组),然后绕过此用户进行身份验证,以使他们能够在站点中执行操作
听起来合理吗?这种认证有“接受”的方法吗?我不确定是否必须编写自己的身份验证视图。
感谢。
答案 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 /