You can upgrade all existing DirXML 1.0 drivers to 2.0.
<filter-class>For classname="User" |
<filter-attr attr-name="DirXML-SPEntitlements" merge-authority="none" publisher="ignore" publisher-optimize-modify="false" subscriber="notify"/> |
Typically, NIS 2.0 adds or deletes this entry in the filter depending upon the need for Role-Based Entitlements during import. |
Subscriber channel, Create Rule transforms. |
Because the existing transform is a style sheet, create a new policy using the Policy Builder and link it to the existing Create Rule Transform using the Next-Transform. Include the following in the new policy that you create: <rule> <description>NIS Account Entitlement: Disable Account</description> <conditions> <and> <if-class-name op="equal">User</if-class-name> <if-entitlement name="NISAccount" op="changing"/> <if-entitlement name="NISAccount" op="available"/> <if-global-variable name="sp.account.add" op="equal">disable</if-global-variable> </and> </conditions> <actions> <do-set-dest-password> <arg-string> <token-text>!!</token-text> <token-password/> </arg-string> </do-set-dest-password> <do-break/> </actions></rule> |
|
Subscriber channel, Matching Rule |
Include the following in the policy and save it: <rule> <description>Account Entitlement: Veto</description> <conditions> <and> <if-class-name op="equal">User</if-class-name> <if-entitlement name="NISAccount" op="not-available"/> </and> </conditions> <actions> <do-veto/> <do-break/> </actions></rule> |
|
Subscriber channel, Account management rules |
Include the following in the policy and save it: 1.<rule> <description>Disable NIS Account when UNIX Profile is removed for a user</description> <conditions> <and> <if-class-name op="equal">user</if-class-name> <if-operation op="equal">modify</if-operation> <if-op-attr name="uidNumber" op="changing"/> <if-op-attr name="uidNumber" op="not-available"/> </and> </conditions> <actions> <do-strip-op-attr name="uidNumber"/> <do-set-dest-attr-value name="authPassword"> <arg-value type="string"> <token-text xml:space="preserve">!!</token-text> </arg-value> </do-set-dest-attr-value> </actions> </rule> |
|
|
2. <rule> <description>Re-enable NIS Account when UNIX Profile added again</description> <conditions> <and> <if-operation op="equal">modify</if-operation> <if-class-name op="equal">user</if-class-name> <if-op-attr name="uidNumber" op="changing"/> <if-op-attr name="uidNumber" op="available"/> <if-op-attr name="authPassword" op="changing"/> <if-op-attr name="authPassword" op="not-available"/> </and> </conditions> <actions> <do-set-dest-attr-value name="authPassword"> <arg-value type="string"> <token-text xml:space="preserve">*!!*</token-text> </arg-value> </do-set-dest-attr-value> </actions> </rule> |
|
<configuration-manifest> |
The entry below has to be made in the manifest. <capability name="entitlements">.. <entitlement conflict-resolution="union" description="User account in Files or NIS or NIS+" display-name="NIS User Account" name="NISAccount"> <interpretive-variables> <add-variable lossy="false" name="sp.account.add"/> <remove-variable lossy="true" name="sp.account.remove"/> </interpretive-variables> </entitlement> </capability> |
|
<configuration-values> |
Define two new global configuration variables. 1.<definition display-name="Action On Applying NIS Account Entitlement:" name="sp.account.add" type="enum"> <value>enable</value> <description>When a user is created in eDirectory with a NIS Account entitlement, specify the action you want the driver to take on an associated NIS account.</description> <enum-choice display-name="Enable the NIS account">enable</enum-choice> <enum-choice display-name="Disable the NIS account">disable</enum-choice> </definition> |
|
|
2. <definition display-name="Action On Removing NIS Account Entitlement:" name="sp.account.remove" type="enum"> <value>disable</value> <description>When a user's NIS account entitlement is removed in eDirectory, specify the action you want the driver to take on an associated NIS account.</description> <enum-choice display-name="Disable the NIS account">disable</enum-choice> <enum-choice display-name="Delete the NIS account">delete</enum-choice> </definition> |
|