Show TOC

Beispiel: Attributbasierte DatenpartitionierungLocate this document in the navigation structure

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 User Management Engine (UME) sucht im Verzeichnisdienst nach den Attributen firstname , lastname und email.
  • Die Attribute firstname und lastname werden jedes Mal gefüllt, wenn ein Benutzerobjekt aus der Verzeichnisdienstdatenquelle gefüllt wird.
  • Die Attribute firstname und lastname können geändert werden, da die Verzeichnisdienstdatenquelle nicht schreibgeschützt ist, doch das Attribut email kann nicht geändert werden.
  • Alle anderen Benutzerattribute werden in der Datenbank des AS Java abgelegt.
    Hinweis

    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>