LDAPパイソンアクセスを実現

あなたは、事前にのpython-LDAPモジュールをインストールする必要があります

LDAPパイソンアクセスポイント、実際にいくつかのステップ:

LDAPへの1、管理者アカウントを使用してログイン

2、OU、「CN = X、単一のユーザメッセージはニューロン前駆データであるために、DN値がデータタプルデータの最初のビットである(一意のフィールドであり、ユーザのDN値を検証するために、検索に行くLDAP検索をフィールド値を使用して= XX、OU = XXX、OU = XXXX、DC = XXXXX、dc = comの「これは、DN値)

3、その後、ユーザーは、DN値と着陸LDAPに行くために、ユーザのパスワードを検索します

Backend.py

インポートLDAP


クラスLDAPBackend:
     デフ認証(自己、ユーザ名=なし、パスワード=なし、** kwargsから):
        AUTH_LDAP_SERVER_URI = " LDAP://0.0.0.0:389 " 
        AUTH_LDAP_BIND_DN = ' CN =管理者アカウント、DC =ドメイン、DC = COM ' 
        AUTH_LDAP_BIND_PASSWORD = ' 管理者パスワード'  
        AUTH_LDAP_BASE_DN = ' DC =ドメイン、DC = COM ' 
        IFユーザ名そしてパスワード:
             初期LDAP接続 
            ldapconn = ldap.initialize(AUTH_LDAP_SERVER_URI)
            は、接続プロトコルを設定Version3の 
            ldapconn.protocol_version = ldap.VERSION3
             管理者アカウントを使用して、パスワードのLDAP
            ldapconn.simple_bind_s(AUTH_LDAP_BIND_DN、AUTH_LDAP_BIND_PASSWORD)
            指定したアカウントを検索するための私たちが必要とする分野に応じて(フィールドは、ここでデータフィールドにLDAPクエリの値である)、Iの使用は、異なる企業はニーズに応じて、同じではないかもしれないことSNその実態 
            ldap_result_id = ldapconn.search(AUTH_LDAP_BASE_DN、ldap.SCOPE_SUBTREE、" (SN = {})" .format(ユーザ名)、なし)
             取得したクエリ結果データ 
            のresult_type、result_data = ldapconn.result(ldap_result_id、 1 ユーザへのクエリは、検証を継続する場合には
            IFない lenは(result_data)== 0):
                 試してみる初期LDAP接続 
                    ldapconn =ldap.initialize(AUTH_LDAP_SERVER_URI)
                    使用は、単にDN情報とパスワードを使用して、着陸は再びLDAPので上陸した
                    成功した着陸が(] [、97、[]、1)右のものに類似元祖データが返された場合、1 
                    2、ログインがldap.INVALID_CREDENTIALSのの例外がスローされます失敗した場合に
                    ldapconn.simple_bind_sを(result_data [0] [0 ]、パスワード)
                    logger.debug(" LDAP認証成功" のリターンself._get_or_create_user(result_data [0])
                 を除く:ldap.INVALID_CREDENTIALS
                     リターンなし
             リターンなし
         戻りなし
 
    DEF _get_or_create_user(セルフ、USER_INFO = ()):
        データベースはユーザーではない場合は、データベースのクエリここに適用するには、ユーザーの権限、ユーザー情報がデータベースにに永続化する必要があります
        。# #
                 
         返すユーザーを        

引用文

ユーザー= LDAPBackend()。認証(ユーザー名=ユーザー名、パスワード=パスワード)

 

おすすめ

転載: www.cnblogs.com/gangdou/p/12002752.html
おすすめ