Configurando o Pacote OSLCLinks para Contexto de Segurança

Você pode querer configurar o pacote do Rational ClearQuest OSLCLinks para fazer parte de um sistema de contexto de segurança ClearQuest, por exemplo, para ocultar links a partir de usuários não autorizados.

Sobre Esta Tarefa

Etapas adicionais são necessárias após aplicar o pacote OSLCLinks no seu esquema para configurar o pacote para trabalhar com um sistema de contexto de segurança.

Consulte Criando um Modelo de Segurança para obter mais informações sobre a segurança do ClearQuest.

Procedimento

  1. Como um usuário com privilégios do Schema Designer, execute o subcomando packageutil setaccess para ativar o registro OSLCLink para edição. A seguir há a sinopse da linha de comandos para o subcomando packageutil setaccess :

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

    Exemplo:

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

    A saída de exibição poderá ser semelhante a esta:

    --- Checked out revision 3 of schema 'ALM'
    +++ Set access policy for OSLCLink to -modifiablebyothers
    +++ Set access policy for select records, fields, and actions
  2. No ClearQuest Designer, inclua um campo REFERÊNCIA no tipo de registro OSLCLink:
    1. No esquema no qual aplicou o pacote OSLCLinks, expanda o nó Tipos de Registro – Stateless e expanda o nó OSLCLink.
    2. Clique com o botão direito do mouse no nó Campos e, em seguida, clique em Novo Campo. A caixa de diálogo Novo Campo é aberta.
    3. Digite um nome para o novo campo e configure o Tipo para REFERÊNCIA.
    4. Clique em Concluir. A guia Propriedades para o novo campo é aberta.
    5. Na seção Informações de Referência da guia Propriedades, configure a propriedade Referência a para seu tipo de registro de contexto de segurança.
    6. Selecione a opção Contexto de Segurança.
  3. Ainda usando o ClearQuest Designer, inclua o seguinte ganho global OSLC_GetSecurityFieldName no esquema:
    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;
    }

    O gancho retorna o nome do campo de contexto de segurança de um tipo de registro especificado.

  4. Atualize a tabela %security_fields_hash no gancho global OSLC_GetSecurityFieldName para incluir um par de campos de contexto tipo-segurança de registro em cada tipo de registro no qual você aplicou o pacote OSLCLinks.

    Por exemplo, se o pacote OSLCLinks for aplicado nos tipos de registro ALMTask e ALMRequest (cujos campos de contexto de segurança são ambos chamados SecurityPolicy) e o campo REFERÊNCIA incluído na Etapa 2 for denominado oslc_SecurityPolicy, sua tabela %security_fields_hash deverá ser semelhante à seguinte:

    my %security_fields_hash = (
        "OSLCLink" => "oslc_SecurityPolicy",
        "ALMTask"  => "SecurityPolicy",
        "ALMRequest" => "SecurityPolicy"
  5. Registre a entrada da revisão do esquema e faça upgrade do seu banco de dados do usuário.
  6. Para evitar mudanças em outras partes do registro OSLCLink, desative a edição ao executar o subcomando packageutil setaccess com a opção -modifiablebyowner. A seguir há novamente a sinopse da linha de comandos para o subcomando packageutil setaccess:

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

    Exemplo:

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

    A saída de exibição poderá ser semelhante a esta:

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

Feedback