2009-01-04 150 views
19

我正在使用公司环境中基于Django的应用程序,并希望使用现有Active Directory系统进行用户身份验证(因此他们不会再获得另一个登录名/密码组合)。我还想继续使用Django的用户授权/许可系统来管理用户功能。使用AD作为Django身份验证

有没有人有这样的一个很好的例子?

回答

7

由Jeff提供的链接确实是工作,虽然它假定你有你有其中增加用户的默认组至。我简单地更换:

group=Group.objects.get(pk=1) 

通过

group,created=Group.objects.get_or_create(name="everyone") 

如果你想更紧密的集成&更多的功能也有django-auth-ldap它为您提供了如何LDAP用户/组映射到Django的用户/组的更多控制。

为了调试LDAP连接,我发现this blog post有用的,特别是命令测试与LDAP-utils的LDAP连接:如果您使用的是SSL

ldapsearch -H ldaps://ldap-x.companygroup.local:636 -D "CN=Something LDAP,OU=Random Group,DC=companygroup,DC=local" -w "p4ssw0rd" -v -d 1 

还有一个让持有的问题证书会很好玩。您可以从服务器提取它,也可以按照these instructions生成自己的。