LDAP と Java での役割ベースのセキュリティの実装に取り組んでいます。具体的には、LDAP で表す必要がある次のオブジェクトがあります。
- ユーザー
- ユーザーの企業グループ - 人事、財務など
- 権限 - DOCUMENT_READ、DOCUMENT_MODIFY など。
- 役割 - ADMIN、GUEST など
ロールは基本的に権限のグループであり、ユーザーまたはユーザーのグループに割り当てることができます。
LDAPでそれらを次のように表すことを考えていました:
- ユーザー - userPassword 属性を持つ Person および uidObject クラス。
- ユーザーのグループ - ユーザーが配置されている organizationUnit クラス。
- ロール - groupOfNames オブジェクト クラス。
- パーミッション - これについてはわかりません。おそらく groupOfNames クラスもそうです。
アイデアは、ユーザーまたはグループから、このユーザーまたはグループが持つ役割のリストにすばやくアクセスできるようにすることです。ユーザーとグループを役割の「メンバー」属性に入れることができることはわかっていますが、すべての役割をスキャンして、このユーザーがリストされている役割を見つける必要があります。Person オブジェクトに「member」属性のようなものを持たせる方法はありますか?
一般に、LDAP での適切な役割ベースのセキュリティ実装を知っている人はいますか? このテーマに関する適切なドキュメントやチュートリアルが見つかりませんでした。現在、ApacheDS を LDAP サーバーとして使用していますが、提案は受け付けています。