Lição 2: Criando Atributos para Segurança em Nível de Linha
Um método comum de definir a segurança em nível de linha é usar as informações de logon do usuário para determinar as linhas a serem exibidas. Nesta lição, você criará um atributo na entidade Funcionário que filtra os dados com base nas informações de logon do usuário. Você criará um filtro e o editará como uma fórmula, para que possa usar a função GetUserID.
Observação |
---|
Esta lição parte da premissa de que o Business Intelligence Development Studio ainda está aberto em seu computador e o modelo de relatório é exibido na janela. |
Para criar um atributo filtrado que seja editado como uma fórmula
Na exibição de árvore, selecione a entidade Funcionário.
Os atributos de Funcionário são mostrados na exibição de lista.
Clique com o botão direito do mouse em Funcionário, aponte para Novo e clique em Filtro.
A caixa de diálogo Filtrar Dados será aberta.
Na lista Campos, clique duas vezes em Logon ID2.
Uma condição de filtro usando o campo Logon ID2 que você criou na Lição 1 será adicionada ao filtro.
No filtro, clique com o botão direito em Logon ID2 e selecione Editar como Fórmula.
A caixa de diálogo Definir Fórmula é aberta e exibe a fórmula Logon ID2=Vazio.
Na caixa Fórmula, selecione o palavra Vazio.
Selecione a guia Funções e expanda o nó Informações.
Clique duas vezes na função GetUserID.
Empty será substituída por GetUserID().
Clique em OK.
A caixa de diálogo Definir Fórmula será fechada e a cláusula de filtro exibirá Logon ID2=GetUserID.
Clique em OK novamente.
A caixa de diálogo Dados do Filtro será fechada e o atributo NewFilter aparecerá na exibição de lista. A seguir, você renomeará o atributo.
Para renomear o atributo
Na exibição de lista, clique com o botão direito do mouse no atributo NewFilter e selecione Renomear.
Digite UserIDFilter.
A seguir, você atribuirá as propriedades de atributo necessárias.
Para modificar as propriedades do atributo
Na exibição de lista, selecione o atributo UserIDFilter.
Na janela Propriedades, localize a propriedade IsFilter.
Verifique se o valor IsFilter é Verdadeiro.
Localize a propriedade Oculto.
Clique na seta para baixo referente a Oculto e selecione Verdadeiro.
A alteração da propriedade Hidden para True impede que os usuários do modelo vejam esse atributo ao criar relatórios usando o modelo. Como você está usando o atributo como um filtro para atribuir segurança, os usuários não precisam ver o atributo ao criar os próprios relatórios.
Na exibição de lista, selecione o atributo Logon ID2.
Na janela Propriedades, localize a propriedade Anulável.
Como o atributo Logon ID2 tem a propriedade Nullable definida como True, o atributo UserIDFilter também deve ter a propriedade Nullable definida como True. Entretanto, essa não é uma propriedade necessária para uso como um filtro de segurança.
Clique na seta para baixo referente a Anulável e selecione Verdadeiro.
Para atribuir um atributo à coleção de filtros de segurança
Na exibição de árvore, selecione a entidade Funcionário.
Na janela Propriedades, localize a propriedade SecurityFilters.
Selecione a propriedade SecurityFilters e clique no botão de reticências (…).
A caixa de diálogo Editor de Coleção de Referência de Atributo será aberta.
Clique em Adicionar.
A caixa de diálogo Atributos de Filtro de Segurança será aberta.
Na lista Entidades, verifique se a entidade Funcionário está selecionada.
Na lista Campos, selecione o atributo UserIDFilter.
Clique em OK e em OK novamente.
A seguir, você salvará as alterações no modelo e reimplantará o modelo no servidor de relatório.
Para salvar e implantar o modelo de relatório
No menu Arquivo, clique em Salvar Tudo.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto Modelo Adventure Works e selecione Implantar.
O modelo é implantado no servidor de relatório.
Importante Para verificar se o modelo foi implantado com êxito, você pode exibir a guia Lista de Erros. Se ocorrer um erro, você deverá solucionar o problema antes de continuar.
Próximas etapas
Você agora criou um atributo e o atribuiu à coleção SecurityFilters. A seguir, você precisará habilitar a segurança de item modelo no SQL Server Management Studio. Consulte Lição 3: Habilitando a segurança em nível de linha no Gerenciador de Relatórios.