Spring Security学習のLDAP認証


一、前言
LDAP:ライト・ディレクトリ・アクセス・プロトコル、すなわちLightweight Directory Access Protocol(LDAP)は、オンライン・ディレクトリ・サービスにアクセスするプロトコルであり、最も典型的な例はイエロー・ページ、電話帳などであり、主に読み取りが多く、書き込みが極めて少ないシーンに用いられる.
LDAPサーバ:
  • OpenLDAP:公式サイト--http://www.openldap.org/、LDAP関連ドキュメントが豊富です.
  • ADS:公式サイト--https://directory.apache.org/、eclipseプラグイン方式のインストールをサポートし、LDAP開発の各種ツールを提供する.

  • 二、Spring配置
  • ldap-server:ターゲットLDAP構成、すなわちプロトコル、IP、ポート、ユーザー名、パスワードなど、例えば:
    Springは内蔵LDAPテストサーバ構成をサポートし、ADSは関連jarを提供し、内蔵LDAPサーバはrootとldifファイルを指定するだけでよく、プロトコルIPポートなどの構成を必要とせず、ldifファイルはADS開発ツールを使用して編集することができる.例えば:
  • ldap-authentication-provider:ユーザー認証認可関連構成、主にユーザー構成ユーザー組合せユーザーフィルタルール、LDAPサーバーからユーザー情報への迅速な位置決め、例えば:
    
                
                
        
    Spring Security 学习之LDAP认证_第1张图片
  • user-dn-pattern:user-dn-pattern=「uid={0},ou=people」などのユーザーdnフィルタリングルール、uid={0}はuid属性user-search-baseをフィルタリングすることを表します:user-search-base=「ou=people」などのどのブランチからユーザーを検索するかを指定します.デフォルトではrootからuser-search-filter:ユーザーフィルタリングルール、例えばuser-search-filter=「(uid={0})」は、user-dn-patternと同様です.1つを使用するとgroup-search-base:group-search-base=「ou=groups」group-search-filter:group-search-filter=「(uniqueMember={0})」などのユーザーグループを検索するブランチを指定します.これは、uniqueMemberプロパティを使用してgroup-role-attribute:ユーザーグループ内のRoleマッピングプロパティをフィルタリングすることを意味します.デフォルトはcnです.検証時にrole接頭辞role-prefix:role接頭辞が自動的に増加します.デフォルトは「ROLE_」です.すなわちrole-prefix="ROLE_"
    以上の基本的な構成によりLDAP認証ライセンスをサポートできます.
    三、高級配置
    Springの強力な機能の一つは、簡単な構成を提供すると同時に自分のカスタマイズをサポートすることであり、カスタマイズの最も基本的なのはbean構成であり、beanを置き換えることでspringが提供したデフォルトの実装を置き換えることができる.
    
      
      
      
    
    
     
       
         
         
           uid={0},ou=people
         
       
     
     
       
         
         
         
       
     
    
    
      
      
      
    

    SpringはLDAP認証の強力なサポートを提供しており、一般的には自分でカスタマイズする必要はありません.