4

ユーザーが特定のグループに属している場合にのみ、ユーザーを認証したいと思います。

私のテストでは、2人のユーザーがいます:

  • 1 人のユーザーがFIRST GROUPに属している
  • その他はSECOND GROUPに属しています

私はアクティブなディレクトリを持っています:

CN=Users,DC=XXXX,DC=com
  ---usrA      
  ---usrB      
  ---group1      
  ---group2

usrAにあり、にありgroup1usrBJBossgroup2 を介してユーザーを認証しLdapLoginModuleますstandalone.xml

スタンドアローン.xml:

<login-module code="org.jboss.security.auth.spi.LdapLoginModule" flag="sufficient">
  <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
  <module-option name="java.naming.provider.url" value="ldap://192.168.1.18"/>
  <module-option name="java.naming.allowEmptyPasswords" value="false"/>
  <module-option name="userfilter" value="(&amp;(objectCategory=person)(objectClass=user)(cn={USERNAME})((primaryGroupID=1109)))"/>                       
  <module-option name="principalDNSuffix" value="@XXXX.com"/>                           
  <module-option name="java.naming.security.authentication" value="simple"/>
</login-module>

(primaryGroupID=1109)=のときgroup1

結果は次のとおりです。

  • ログインusrA成功
  • usrB成功も

そのため、使用されているフィルターが正しく機能しないか、まったく使用されていません。エラーはありません。

Active Directoryで のクエリをテストしたところ、適切な結果userfilterが返されました " usrA"

誰かが問題のアイデアを持っていますか? グループに応じてユーザーを使用する別の方法を持っている人はいますか?

4

0 に答える 0