0

LDAPサーバーからの認証を使用するコードを書いています。現在、私のコードでは、ユーザー DN と pwd のみをログイン用に提示できます。

Username: CN=mynane,CN=Users,DC=example,DC=com
Pwd : XXXX

今やりたいことは、ユーザー名を次の形式で許可することです

Username: myname@example.com
Pwd: xxxx

「myname@example.com」の形式の資格情報を使用してサーバーにバインドできますが、私のコードでは認証のために「myname」のグループも必要です。そのためには、「myname@example.com」から DN を見つけて、「myname」が属するグループを抽出できるようにする必要があります。

だから私の質問は、「myname@example.com」の形式からDNを見つける方法です

それはどのように行われますか?

ありがとう

4

3 に答える 3

0

電子メール アドレスで dn をクエリする場合は、次のコードを試してください。

ldap = "SELECT distinguishedName From 'LDAP://DC=example,DC=com' WHERE mail = '{}'"
mail = 'myname@example.com'

import win32com.client
c = win32com.client.Dispatch('ADODB.Connection')
c.Open('Provider=ADsDSOObject')
rs,rc = c.Execute(ldap.format(mail))
while not rs.EOF:
    for e in rs.fields:
        print('{}: {}'.format(e.Name, e.Value))
    rs.MoveNext()
于 2012-07-23T10:04:53.390 に答える
0

'userPrincipalName'='myname@example.com' または 'samAccountName'='myname' のユーザーをフェッチする必要があります。

于 2014-02-09T15:23:54.663 に答える