Paket OSLCLinks für Sicherheitskontext konfigurieren

Sie könnten das Rational ClearQuest-Paket OSLCLinks als Teil eines ClearQuest-Sicherheitskontextsystems konfigurieren, um beispielsweise Links für nicht berechtigte Benutzer auszublenden.

Informationen zu diesem Vorgang

Nachdem Sie das Paket OSLCLinks auf Ihr Schema angewendet haben, sind weitere Schritte erforderlich, um das Paket für den Einsatz mit einem Sicherheitskontextsystem zu konfigurieren.

Weitere Informationen zur ClearQuest-Sicherheit finden Sie in Sicherheitsmodell erstellen.

Vorgehensweise

  1. Führen Sie den Unterbefehl packageutil setaccess als Benutzer mit Schemadesignerberechtigung aus, um den OSLCLink-Datensatz zur Bearbeitung zu aktivieren. Nachfolgend steht die Befehlszeilenübersicht für den Unterbefehl packageutil setaccess:

    packageutil setaccess -dbset Datenbankgruppenname Benutzername Kennwort Schemaname -record -modifiablebyothers OSLCLink

    Beispiel:

    packageutil setaccess –dbset 7.0.0 admin "" ALM -record -modifiablebyothers OSLCLink

    Die Bildschirmausgabe könnte ähnlich wie die folgende aussehen:

    --- Checked out revision 3 of schema 'ALM'
    +++ Set access policy for OSLCLink to -modifiablebyothers
    +++ Set access policy for select records, fields, and actions
  2. Fügen Sie in ClearQuest Designer ein neues Feld REFERENCE dem Datensatztyp OSLCLink hinzu:
    1. Erweitern Sie im Schema, auf das Sie das Paket OSLCLinks angewendet haben, den Knoten Satztypen - Statusunabhängig und anschließend den Knoten OSLCLink.
    2. Klicken Sie mit der rechten Maustaste auf den Knoten Felder und klicken Sie auf Neues Feld. Das Dialogfeld Neues Feld wird geöffnet.
    3. Geben Sie einen Namen für das neue Feld ein und setzen Sie den Typ auf Referenz.
    4. Klicken Sie auf Finish (Fertigstellen). Die Registerkarte Eigenschaften für das neue Feld wird geöffnet.
    5. Setzen Sie im Abschnitt Referenzinformationen auf der Registerkarte Eigenschaften die Eigenschaft Verweis auf auf den Datensatztyp Ihres Sicherheitskontexts.
    6. Wählen Sie die Option Sicherheitskontext aus.
  3. Fügen Sie, während Sie sich immer noch in ClearQuest Designer befinden, dem Schema den folgenden globalen Hook OSLC_GetSecurityFieldName hinzu:
    sub OSLC_GetSecurityFieldName
    {
        my $security_fieldname = "";
        my ($entitydef_name) = @_;
        
        # Eine Hashtabelle zum Beibehalten des Sicherheitsfeldnamens jeder
        # entitydef, wobei der entitydef-Name als Schlüssel und der
        # Sichheitsfeldname als Wert verwendet wird.
        
        my %security_fields_hash = (
            #Fügen Sie hier die Paare aus entitydef und Sicherheitskontextfeld hinzu
            #Beispiel: "ALMTask"  => "SecurityPolicy"
            );
        
        if (exists $security_fields_hash{$entitydef_name}) {
            my $temp_security_fieldname = $security_fields_hash{$entitydef_name};
            if ( 
            $::session->GetEntityDef($entitydef_name)->IsSecurityContextField($temp_security_fieldname)) {
                $security_fieldname = $temp_security_fieldname;
                }
            }
        
        return $security_fieldname;
    }

    Der Hook gibt den Feldnamen des Sicherheitskontexts eines angegebenen Datensatztyps zurück.

  4. Aktualisieren Sie die Tabelle %security_fields_hash im globalen Hook OSLC_GetSecurityFieldName, um ein Paar aus Datensatztyp und Sicherheitskontextfeld für jeden Datensatztyp hinzuzufügen, auf den Sie das Paket OSLCLinks-Paket angewendet haben.

    Wenn Sie das Paket OSLCLinks beispielsweise auf die Datensatztypen ALMTask und ALMRequest angewendet haben (deren Sicherheitskontextfelder beide den Namen SecurityPolicy haben) und das von Ihnen im Schritt 2 hinzugefügte Feld REFERENZ den Namen oslc_SecurityPolicy aufweist, könnte Ihre Tabelle %security_fields_hash ähnlich wie die folgende aussehen:

    my %security_fields_hash = (
        "OSLCLink" => "oslc_SecurityPolicy",
        "ALMTask"  => "SecurityPolicy",
        "ALMRequest" => "SecurityPolicy"
  5. Checken Sie die Schemaüberarbeitung ein und aktualisieren Sie Ihre Benutzerdatenbank.
  6. Zur Vermeidung von Änderungen an anderen Teilen des OSLCLink-Datensatzes inaktivieren Sie die Bearbeitung, indem Sie den Unterbefehl packageutil setaccess mit der Option -modifiablebyowner ausführen. Nachfolgend steht wieder die Befehlszeilenübersicht für den Unterbefehl packageutil setaccess:

    packageutil setaccess -dbset Datenbankgruppenname Benutzername Kennwort Schemaname -record -modifiablebyothers OSLCLink

    Beispiel:

    packageutil setaccess –dbset 7.0.0 admin "" ALM -record -modifiablebyowner OSLCLink

    Die Bildschirmausgabe könnte ähnlich wie die folgende aussehen:

    --- Checked out revision 4 of schema 'ALM'
    +++ Set access policy for OSLCLink to -modifiablebyowner
    +++ Set access policy for select records, fields, and actions

Feedback