Configurazione del package OSLCLinks per il contesto di sicurezza

È possibile configurare il package Rational ClearQuest OSLCLinks per fare parte di un sistema di contesto di sicurezza ClearQuest, ad esempio, per nascondere i collegamenti ad utenti non autorizzati.

Informazioni su questa attività

Una volta applicato il package OSLCLinks allo schema, sono necessarie fasi aggiuntive per configurare il package per gestire un sistema di contesto di sicurezza.

Consultare Creazione di un modello di sicurezza per ulteriori informazioni sulla sicurezza ClearQuest.

Procedura

  1. In qualità di utente con privilegi Designer di schemi, eseguire il sottocomando packageutil setaccess per abilitare il record OSLCLink per la modifica. Di seguito viene riportato il riepilogo della riga comandi per il sottocomando packageutil setaccess:

    packageutil setaccess -dbset dbset_name user_name password schema_name -record -modifiablebyothers OSLCLink

    Ad esempio:

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

    L'output mostrato potrebbe essere simile a questo:

    --- Checked out revision 3 of schema 'ALM'
    +++ Set access policy for OSLCLink to -modifiablebyothers
    +++ Set access policy for select records, fields, and actions
  2. In ClearQuest Designer, aggiungere un nuovo campo REFERENCE al tipo di record OSLCLink:
    1. Nello schema in cui viene applicato il package OSLCLinks, espandere il nodo Tipi di record – Stateless e quindi espandere il nodo OSLCLink.
    2. Fare clic con il tasto destro del mouse sul nodo Campi e fare clic su Nuovo campo. Viene visualizzata la finestra di dialogo Nuovo campo.
    3. Immettere un nome per il nuovo campo ed impostare Tipo su REFERENCE.
    4. Fare clic su Fine. Viene aperta la scheda Proprietà per il nuovo campo.
    5. Nella sezione Informazioni di riferimento della scheda Proprietà, impostare la proprietà Riferimento a sul proprio tipo di record di contesto di sicurezza.
    6. Selezionare l'opzione Contesto di sicurezza.
  3. Continuando ad utilizzare ClearQuest Designer, aggiungere il seguente hook globale OSLC_GetSecurityFieldName allo schema:
    sub OSLC_GetSecurityFieldName
    {
        my $security_fieldname = "";
        my ($entitydef_name) = @_;
        
        # A hash table to keep security field name of each
        # entitydef, using entitydef name as the key and security
        # field name as the value.
        
        my %security_fields_hash = (
            #add entitydef and security context field pairs here
            #For example, "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;
    }

    L'hook restituisce il nome del campo del contesto di sicurezza di uno specifico tipo di record.

  4. Aggiornare la tabella %security_fields_hash nell'hook globale OSLC_GetSecurityFieldName per includere una coppia tipo di record-campo del contesto di sicurezza per ciascun tipo di record a cui è stato applicato il package OSLCLinks.

    Ad esempio, se il package OSLCLinks è stato applicato ai tipi di record ALMTask e ALMRequest (i cui campi del contesto di sicurezza sono denominati SecurityPolicy) ed il campo REFERENCE aggiunto nella Fase 2 è denominato oslc_SecurityPolicy, la tabella %security_fields_hash potrebbe avere un aspetto simile a quello riportato di seguito:

    my %security_fields_hash = (
        "OSLCLink" => "oslc_SecurityPolicy",
        "ALMTask"  => "SecurityPolicy",
        "ALMRequest" => "SecurityPolicy"
  5. Eseguire il checkin della revisione dello schema ed aggiornare il database utente.
  6. Per evitare modifiche ad altre parti del record OSLCLink, disabilitare la modifica eseguendo il sottocomando packageutil setaccess con l'opzione -modifiablebyowner. Di seguito viene riportato il riepilogo della riga comandi per il sottocomando packageutil setaccess:

    packageutil setaccess -dbset dbset_name user_name password schema_name -record -modifiablebyothers OSLCLink

    Ad esempio:

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

    L'output mostrato potrebbe essere simile a questo:

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

Feedback