LDAPサーバーで、指定された属性を持つすべてのアイテムを検索しようとしています。
私が扱っているLDAPスキーマは、次の方法でユーザーの役割を記録します。
- いくつかの属性(ロール)のいずれかを含む可能性のあるオブジェクトタイプを作成し、
- 各ロールの値をその名前と同じに設定する
属性は共通の基本タイプを共有せず、オブジェクトクラス( "roleuser")にはロールではない他の属性が含まれています。ロールは、「ロール」で終わる属性名によって区別されます。(うん)
例。ユーザーのオブジェクトタイプにはオブジェクトタイプroleuserが含まれ、次の属性=値のペアを持つ場合があります。
cn=userX
objectclass=roleuser,...
managerrole=managerrole
clerkrole=clerkrole
cn=userY
objectclass=roleuser,...
managerrole=managerrole
cn=userZ
objectclass=roleuser,...
clerkrole=clerkrole
店員、マネージャー、マネージャーの店員を検索できます。しかし、(を使用して)店員を検索する(&(clerkrole=*)(objectclass=roleuser))
と、ロール店員(userZ)とロールマネージャーおよび店員(userX)の両方のユーザーが返されます。
(&(clerkrole=*)(!managerrole=*)(objectclass=roleuser))
マネージャーではない店員を取得するために)を指定できます。しかし、それは私が他のすべての可能な役割をリストする(そして否定する)ことを要求するでしょう。
さまざまな理由から、アプリケーションがすべての可能な役割を認識している必要はありません。これらの役割は、アプリケーションよりも迅速に変更される可能性があるためです。
それで。他のすべてのロールを動的に指定(および無効化)できるように、スキーマに含まれ、roleuser
名前が付けられているすべての属性をクエリする方法はありますか?*role
または、(clerkrole = *)を照会する方法があり、そのroleuserに* roleという名前の他の属性が存在しませんか?