
Bei der attributbasierten Datenpartitionierung werden die Attribute eines Prinicpal-Typs über mehrere Datenquellen verteilt.
Denise DeLassandros möchte die Benutzerattribute firstname, lastname und email im Verzeichnisdienst und alle weiteren Benutzerattribute in der Datenbank des SAP NetWeaver Application Server (AS) Java ablegen. Ergebnis:
Die Attribute firstname, lastname und email werden nicht in der Datenbank des AS Java abgelegt, da die ursprüngliche Datenquelle für Benutzer-Principals (Verzeichnisdienstdatenquelle) für diese verantwortlich ist. Dadurch ist es nicht erforderlich, dass Denise diese Attribute im Unterabschnitt <notResponsibleFor> der Datenquelle der AS-Java-Datenbank angibt.
Denise ändert folgendermaßen ihre Datenquellen-Konfigurationsdatei:
Beispiel
<dataSource id="CORP_LDAP"
className="com.sap.security.core.persistence.datasource.imp.LDAPPersistence"
isReadonly="false"
isPrimary="true">
...
<responsibleFor>
<principals>
<principal type="USER">
<!-- Substructure specified means responsible
for the specified namespace attribute tuples
of principals of type "USER" -->
<nameSpace name="com.sap.security.core.usermanagement">
<attributes>
<attribute name="firstname" populateInitially="true"/>
<attribute name="lastname" populateInitially="true"/>
<attribute name="email" readonly="true"/>
</attributes>
</nameSpace>
</principal>
</principals>
</responsibleFor>
<notResponsibleFor>
</notResponsibleFor>
...
</dataSource>
<dataSource id="PRIVATE_DATASOURCE"
className="com.sap.security.core.persistence.datasource.imp.DataBasePersistence"
isReadonly="false"
isPrimary="true">
...
<responsibleFor>
<principals>
<principal type="USER">
<!-- No substructure specified means responsible
for all namespace attribute tuples of principals
of type "USER" except the ones in the
notResponsibleFor subsection -->
</principal>
</principals>
</responsibleFor>
<notResponsibleFor>
</notResponsibleFor>
...
</dataSource>