2012-02-24 22 views
2

私の春のWebアプリケーションユーザーの後の処理のために各ユーザーの役割を保存するために、私は自分のopenldap構造体にカスタム属性を追加しようとしています。openldapでカスタム属性を使用する

管理者、マネージャー、ビューアーの3つの役割しかありません。このためのルールを追加することは可能ですか?

以下のエラーを修正するにはどうすればよいですか? ldapadd -x -W -D "cn=admin,dc=ubuntu,dc=local" -f roleuser.ldif

# CUSTOM ATTRIBUTE 
dn: cn=schema,cn=config 
changeType: modify 
add: attributeTypes 
attributeTypes: (
    2.25.128424792425578037463837247958458780603.1 
    NAME 'role' 
    EQUALITY caseIgnoreMatch 
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
    SINGLE-VALUE 
) 
- 
add: objectClasses 
objectClasses: (
    2.25.128424792425578037463837247958458780603.2 
    NAME 'rolePerson' 
    SUP person 
    AUXILIARY 
    MUST (role) 
) 

# USERS 
dn: ou=people,dc=ubuntu,dc=local 
objectClass: organizationalUnit 
ou: people 

dn: cn=demo_admin,ou=people,dc=ubuntu,dc=local 
objectClass: rolePerson 
userPassword: {MD5}fe01ce2a7fbac8fafaed7c982a04e229 
uid: demo 
cn: demo 
sn: demo 
role: admin 

出力:

modifying entry "cn=schema,cn=config" 
ldap_modify: Invalid syntax (21) 
    additional info: attributeTypes: value #0 invalid per syntax 

答えて

1

事のこのタイプは、グループを使用して処理に優れています。参照整合性モジュールとそれをユーザーオブジェクトのメンバシップデータを維持するモジュールと組み合わせると、より標準的な方法で同じ利点が得られます。

0

「懸念を分ける」ことはどうですか? LDAPは、ユーザ情報を格納し、認証をサポートすること、すなわち、ユーザが本当に誰であると主張しているかを決定することを担うべきである。 ロール:は、知られているユーザーがさまざまなアクティビティを実行できるようにするため、アプリケーションとアプリケーションが異なります。

各アプリケーションに独自のロールセットを管理させ、認証されたユーザーをアプリケーションのニーズに応じてロールとアクティビティ/権限にマッピングさせることをお勧めします。

このように設定すると、LDAPを複数のアプリで使用できます。 LDAPにロール情報を保存する場合は、新しいアプリケーションを作成する場合は別のLDAPが必要です。または、LDAPがかなり複雑になります。

LDAPのグループを定義することは、一連のアプリケーションで同じ役割を果たしているユーザーの集まりを期待できる場合にはもちろん便利です。次に、あなたのアプリは個々のユーザーだけでなく、自分の役割をユーザーグループにリンクすることができます。しかし原則は変わりません。

関連する問題