Sun ONE Hints
Verwendung von Rollen


Es gibt 3 Arten von Rollen:

  1. Managed Roles:
    Bei dieser Art werden die Mitglieder manuell definiert. Das Benutzerobjekt besitzt das Attribut "nsRoleDN" welches als Wert den DN der Rolle(n) enthält die dem Objekt angehört(angehören).
  2. Filtered Roles:
    Hier wird ein LDAP-Filter definiert und alle Objekte die auf den Filter passen, haben diese Rolle.
    Das Rollenobjekt enthält das Attribut "nsRoleFilter" welches den Suchfilter enthält. Es wird ab der Position der Rolle im Subtree gesucht. Wenn ein zutreffendes Objekt gefunden wurde, wird automatisch das Attribut "nsRole" dem Objekt hinzugefügt mit dem DN der Rolle. Das Attribut ist ein berechnetes Attribut und wird nicht mit dem Objekt zusammen gespeichert.
    Das "nsRole" Attribut ist reserviert für den automatischen Mechanismuß und ist gegen Modifikation geschützt.
    Das "nsRole" Attribut kann nicht in Suchfiltern verwendet werden.
  3. Nested Roles:
    Verschachtelung von Rollen (Rollen die Rollen enthalten)


Sonstige Hinweise mit dem Umgang von Rollen:

  • Wenn eine Rolle inaktiviert wird, werden die Rollenmitglieder inaktiviert und nicht die Rolle. Die Mitglieder können sich dann nicht mehr mit dem LDAP verbinden.
  • Wenn eine Rolle gelöscht werden soll, wird nicht automatisch auch das Attribut "nsRoleDN" bei den Rollenmitgliedern gelöscht.
    Damit dies automatisch passiert, kann man das "Maintaining Referential Integrity" Plugin mit dem Attribut "nsRoleDN" definieren.
  • Beachten Sie bitte unbedingt die Sun ONE Dokumentation zu Ihrer eingesetzten Version!


Objektklassen:

Alle Rollen haben die Objektklassen:
  • objectClass: LDAPsubentry
  • objectClass: nsRoleDefinition

zusätzliche Objektklassen der "Managed Roles":
  • objectClass: nsSimpleRoleDefinition
  • objectClass: nsManagedRoleDefinition

zusätzliche Objektklassen der "Filtered Roles":
  • objectClass: nsComplexRoleDefinition
  • objectClass: nsFilteredRoleDefinition

zusätzliche Objektklassen der "Nested Roles":
  • objectClass: nsComplexRoleDefinition
  • objectClass: nsNestedRoleDefinition


Beispiele:

Managed Role
dn: cn=Marketing,ou=people,dc=siroe,dc=com
objectClass: top
objectClass: ldapsubentry
objectClass: nsRoleDefinition
objectClass: nsSimpleRoleDefinition
objectClass: nsManagedRoleDefinition
cn: Marketing
description: managed role for marketing staff

dn: uid=Bob,ou=people,dc=siroe,dc=com
nsRoleDN: cn=Marketing,ou=people,dc=siroe,dc=com
...

Filtered Role
dn: cn=SalesManagerFilter,ou=people,dc=siroe,dc=com
objectClass: top
objectClass: ldapsubentry
objectClass: nsRoleDefinition
objectClass: nsComplexRoleDefinition
objectClass: nsFilteredRoleDefinition
nsRoleFilter: o=sales manager
description: filtered role for sales manager
Objekte die das Attribut o: sales manager haben, haben die entsprechende Rolle.


Nested Role
dn: cn=MarketingSales,ou=people,dc=siroe,dc=com
objectClass: top
objectClass: ldapsubentry
objectClass: nsRoleDefinition
objectClass: nsComplexRoleDefinition
objectClass: nsNestedRoleDefinition
cn: MarketingSales
nsRoleDN: cn=SalesManagerFilter,ou=people,dc=siroe,dc=com
nsRoleDN: cn=Marketing,ou=people,dc=siroe,dc=com
Alle Mitglieder der Rollen "SalesManagerFilter" und "Marketing" sind auch Mitglieder der Rolle "MarketingSales".
hacker emblem