1

こんにちは、春のセキュリティと LDAP を使用して j2ee を実装しています。

ここに私のLDAP構造があります:

DIT
 |
 |--Root DSE
        |
        |--dc=apacheLDAP
        |         |
        |         |--ou=roles
        |         |     |
        |         |     |--role=1
        |         |     |--role=2
        |         |     |--role=3   
        |         |
        |         |--ou=users
        |         |     |
        |         |     |--user=ali
        |         |     |--user=john
        |         |     |--user=bettyboop
        |
        |--ou=system
               |
               |uid=admin

これが私の春のセキュリティの内容です:

<security:authentication-manager>
  <security:ldap-authentication-provider
     user-search-filter="uid={0}"
     user-search-base="ou=user,dc=apacheLDAP"
     group-search-filter="description={0}"
     group-search-base="ou=roles,dc=apacheLDAP"
     group-role-attribute="role"
     role-prefix="ROLE_"
  />
</security:authentication-manager>

<security:ldap-server url="ldap://192.168.1.100:10389"
     manager-dn="uid=admin,ou=system"
     manager-password="secret"
/>

役割ごとに、ユーザー検索フィルターの値を持つ説明属性があります。したがって、ユーザー ali がログインすると、ユーザー検索フィルターは uid=ali,ou=users,dc=apacheLDAP になります。この値は、役割の説明属性で検索されます。これはうまくいきます。

ただし、ロール属性をユーザー スキーマに挿入して、スキーマを変更する必要があります。そのため、代わりに use スキーマでユーザー ロールのチェックが行われます。たとえば、ali がロール 1 とロール 2 を持っている場合、彼のユーザー スキーマは次のようになります。

uid    |   ali
role   |   1
role   |   2

権限のチェックがロールスキーマではなくユーザースキーマで行われるように、Spring-Security を変更するにはどうすればよいですか?

4

0 に答える 0