朝、私のproyectにDjangoの認証にLDAPを実装するDjangoの認証はLDAP
- 私にはユーザーアカウントを見つけていないが、それは動作しません。私はldap接続(Djangoシェルによる)をチェックし、検索を返します。だから、python-ldapが動作していると思います。私は、次を使用:
import ldap
con = ldap.initialize("ldap://hostname")
con.simple_bind_s("CN=MyName MySurname, CN=Users, DC=CompanyName, DC=local", "MyPassword")
con.search_s('DC=CompanyName, DC=local', ldap.SCOPE_SUBTREE, '(objectclass=person)', ['sn'])
私は(ジャンゴ-AUTH-LDAPを使用)は、Webでユーザーを認証しようとすると、認証は常にNoneを返します。私の見解では
Settings. (LDAP Configuration).
AUTH_LDAP_SERVER_URI = "ldap://hostname"
AUTH_LDAP_BIND_DN = "CN=MyName MySurname, CN=Users, DC=CompanyName, DC=local"
AUTH_LDAP_BIND_PASSWORD = "MyPassword"
AUTH_LDAP_USER_SEARCH = LDAPSearch("CN=Users, DC=CompanyName, DC=local", ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
AUTH_LDAP_CONNECTION_OPTIONS = {
ldap.OPT_REFERRALS: False
}
from django_auth_ldap.backend import LDAPBackend
View.
def Login(request):
usr = "MyUserName"
pwd = "MyPassword"
if request.method == 'POST':
ldap_backend = LDAPBackend()
user = ldap_backend.authenticate(usr, pwd)
print user
print usr, pwd
、 - 私は私がドメインにログインするために使用されるLDAP認証私のユーザー名とパスワードを渡します。あれは正しいですか? DSQUERYユーザー
私が間違っているのは何 は、私は一種のディレクトリアクティブサーバーでのコマンドからの値"CN=MyName MySurname, CN=Users, DC=CompanyName, DC=local"
を得ましたか。
ありがとうございます。
EDITED:私はAUTH_LDAP_USER_SEARCH =のldapsearch(、ldap.SCOPE_SUBTREE、「(CN =% "CNユーザー、DC =会社名、DC =ローカルを=" としてそれを定義した場合、私は、UID throug検索を定義するときに問題があります(ユーザ)))が働いています(そして、私はusr = "MyNameMySurname"として渡す必要があります)。ログインに使用したユーザー名で検索を定義するにはどうすればよいですか。