Compartilhar via


Como habilitar a autenticação em um aplicativo cliente do Silverlight

No LightSwitch, é possível deixar o aplicativo mais seguro evitando que usuários não autorizados leiam, alterem ou excluam dados. Se você implementar autenticação e autorização, os usuários deverão comprovar suas identidades antes de acessarem o aplicativo.

Dica

O processo para definir permissões é diferente para clientes HTML – consulte Como habilitar a autenticação em um aplicativo cliente HTML.Aplicativos do LightSwitch habilitados para o SharePoint usam a autenticação do SharePoint para controle de acesso.

Se tiver muitos usuários, você também poderá gerenciar o acesso mais facilmente criando funções de usuário com diversos níveis de acesso a telas específicas e aos dados e, em seguida, atribuir a cada usuário a função apropriada.

Por exemplo, um aplicativo de folha de pagamento poderia permitir que funcionários exibam, mas não alterem, as informações da folha de pagamento. No entanto, um supervisor de folha de pagamento poderia receber permissão para exibir e alterar informações do funcionário. Os funcionários receberiam a função Funcionário e o supervisor receberia a função Supervisor.

Também é possível administrar permissões mais facilmente adicionando-se usuários a grupos de segurança no Active Directory e, em seguida, atribuir permissões a esses grupos. Como a associação e as permissões são herdadas, é possível conceder e negar permissões não apenas para um grupo, mas também para todos os subgrupos fazendo uma única alteração. Por exemplo, é possível adicionar Bob ao grupo de Vendas no Active Directory. Se Vendas é um subgrupo de Marketing, qualquer permissão que você conceder a Marketing também será concedida a Bob.

Autenticação

O primeiro passo na proteção do aplicativo é habilitar a autenticação. É possível usar a autenticação de Formulários ou a autenticação do Windows. A autenticação de Formulários é gerenciada pelo próprio aplicativo, e um usuário deve fornecer um nome de usuário e uma senha para acessar o aplicativo. Na autenticação do Windows, as credenciais que foram usadas para fazer logon no computador onde o aplicativo é executado são usadas para autenticar o usuário do aplicativo, e nenhuma senha ou nome de usuário adicional é obrigatório. Em ambos os casos, um administrador do aplicativo mantém uma lista de usuários autorizados; na autenticação de Formulários, o administrador também mantém senhas criptografadas.

Para habilitar a autenticação

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Propriedades e, em seguida, escolha Abrir.

  2. No Designer de Aplicativos, escolha a guia Controle de Acesso.

  3. Na lista Selecione o tipo de autenticação a ser usado:, escolha Usar autenticação do Windows ou Usar autenticação de Formulários.

    Se você escolher Usar Autenticação do Windows, escolha o botão de opção Permitir apenas usuários especificados na tela Usuários do aplicativo ou o botão de opção Permitir qualquer usuário autenticado do Windows.

    O aplicativo agora exigirá que os usuários forneçam credenciais para acessar o aplicativo.

Para desabilitar a autenticação

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Propriedades e, em seguida, escolha Abrir.

  2. No Designer de Aplicativos, escolha a guia Controle de Acesso.

  3. Na lista Selecione o tipo de autenticação a ser usado:, escolha Não habilitar autenticação.

    O aplicativo não exigirá que os usuários forneçam credenciais para acessar o aplicativo, e qualquer usuário pode acessar todas as partes do aplicativo.

Permissões

A próxima etapa para proteger o aplicativo é criar permissões. É possível definir permissões para telas, comandos, entidades de dados e consultas. Primeiro, defina um objeto de permissão no Designer de Aplicativos. Em seguida, é possível fazer referência ao objeto no código, em um dos métodos Can como, por exemplo, CanRun<ScreenName> ou <QueryName>_CanExecute. O código nesses métodos normalmente verifica se o usuário ou a função atual tem a permissão e, em seguida, exibe o formulário ou executa a consulta apenas se a permissão é validada.

Para testar o código, execute o aplicativo como um usuário que tenha a permissão e como um usuário que não a tenha. Definindo-se permissões de depuração, é possível representar um usuário quando você testa ou depura o aplicativo.

Para criar uma permissão

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Propriedades e, em seguida, escolha Abrir.

  2. No Designer de Aplicativos, escolha a guia Controle de Acesso.

  3. Na grade Definir permissões ou selecionar permissões que serão usadas na depuração, na coluna Nome, escolha <Adicionar Nova Permissão> e, em seguida, digite um nome programático para a permissão.

    O nome deve começar com um caractere alfabético e só pode conter caracteres alfabéticos, numéricos ou sublinhados.

  4. Na coluna Nome para Exibição, digite o nome da permissão que você deseja que seja exibido na tela que o administrador do aplicativo usará para atribuir funções.

  5. Na coluna Descrição, digite uma descrição da permissão.

Para gravar código para definir permissões para uma tela

  1. No Gerenciador de Soluções, abra o menu de atalho de um nó da tela e, em seguida, escolha Abrir.

    O Designer de Telas dessa tela é aberto.

  2. Na lista Gravar Código, escolha CanRunScreenName, onde ScreenName é o nome da tela selecionada.

  3. No Editor de Códigos, digite o seguinte código no método CanRunScreenName:

    If Application.User.HasPermission(Can_View_Products) Then
        result =  True
    Else
        result = False
    End If
    
    if (Application.User.HasPermission(Permissions.Can_View_Products)) 
    {
        result = true;
    } 
    else 
    {
        result = false;
    }
    

    Esse código será avaliado sempre que o aplicativo for iniciado.

    Dica

    O código de exemplo verifica se há uma permissão chamada Can_View_Products.Substitua o nome de uma permissão definida no aplicativo.

Para gravar código para definir permissões para um comando

  1. No Gerenciador de Soluções, abra o menu de atalho de um nó da tela e, em seguida, escolha Abrir.

    O Designer de Telas dessa tela é aberto.

  2. No painel Árvore de Conteúdo da Tela, expanda um nó de comando e, em seguida, escolha o comando no qual você deseja gravar código.

  3. Abra o menu de atalho do comando e, em seguida, escolha ButtonName**_CanExecute**, onde ButtonName é o nome do comando escolhido.

  4. No Editor de Códigos, digite o código desejado no método ButtonName**_CanExecute**.

    Dica

    Para obter um exemplo de código, consulte "Para gravar código para definir permissões para uma tela" anteriormente neste tópico.

Para gravar código para definir permissões de uma entidade

  1. No Gerenciador de Soluções, abra o menu de atalho de um nó da entidade e, em seguida, escolha Abrir.

    O Entity Designer dessa entidade é aberto.

  2. No Entity Designer, na barra Perspectiva, escolha Servidor.

  3. Na lista Gravar Código, escolha um método EntityName**_Can**Operation, em que EntityName é o nome da entidade, e Operation é o nome da operação na qual você deseja gravar código.

    Dica

    Os métodos disponíveis variam de contexto para contexto.Alguns exemplos são CanDelete e CanUpdate.

  4. No Editor de Códigos, digite o código desejado no método EntityName**_Can**Operation.

    Dica

    Para obter um exemplo de código, consulte "Para gravar código para definir permissões para uma tela" anteriormente neste tópico.

Para gravar código para definir permissões para uma consulta

  1. No Gerenciador de Soluções, abra o menu de atalho de um nó da consulta e, em seguida, escolha Abrir.

    O Designer de Consulta dessa consulta é aberto.

  2. Na lista Gravar Código, escolha um dos métodos QueryName**_CanExecute**, em que QueryName é o nome da consulta.

  3. No Editor de Códigos, digite o código desejado no método QueryName**_CanExecute**.

    Dica

    Para obter um exemplo de código, consulte "Para gravar código para definir permissões para uma tela" anteriormente neste tópico.

Para habilitar permissões para depuração

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Propriedades e, em seguida, escolha Abrir.

  2. No Designer de Aplicativos, escolha a guia Controle de Acesso.

  3. Na grade Defina permissões ou selecione permissões para usar para depuração, escolha a permissão que você deseja habilitar para depuração e marque a caixa de seleção Concedido para depuração.

Publicação e Administração

A etapa final na habilitação da autenticação é definir um administrador padrão para o aplicativo durante a publicação. Depois da publicação, o administrador padrão deverá fazer logon e definir usuários, funções e permissões.

Para definir um administrador

  • Siga as etapas em Administrando um aplicativo do LightSwitch.

    Importante

    Se a autenticação estiver habilitada e você não tiver definido um administrador padrão, você não poderá acessar o aplicativo publicado.

Consulte também

Tarefas

Administrando um aplicativo do LightSwitch

Como habilitar a autenticação em um aplicativo cliente HTML

Conceitos

Considerações sobre segurança de LightSwitch

Outros recursos

Telas do cliente Silverlight para aplicativos do LightSwitch

Active Directory Security Groups (Grupos de Segurança do Active Directory)