Share via


Exemplo de código: ASP.NET MVC 2 simples

Atualizado: 19 de junho de 2015

Aplica-se ao Azure

Este exemplo ilustra como integrar Microsoft Azure Active Directory Controle de Acesso (também conhecido como serviço Controle de Acesso ou ACS) a um aplicativo ASP.NET MVC. O código deste exemplo está localizado no subdiretório ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) do pacote de exemplos de código Microsoft Azure Active Directory Controle de Acesso (ACS).

Pré-requisitos

Para executar esta amostra, você precisará do seguinte:

  1. Uma conta na página inicial do Azure e um namespace Controle de Acesso. Este exemplo pressupõe que o nome do Go to the Microsoft Azure Management Portal (https://manage.WindowsAzure.com), entre e clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível) é acssamples, mesmo que seu Controle de Acesso nome do namespace seja diferente.

  2. Visual Studio 2010 (qualquer versão)

  3. Windows Identity Foundation SDK

Para obter mais detalhes, consulte os pré-requisitos do ACS (https://go.microsoft.com/fwlink/?LinkId=221065).

Configurando o exemplo

A configuração acs necessária para este exemplo pode ser executada usando o Portal de Gerenciamento do ACS ou o Serviço de Gerenciamento do ACS. Este tópico descreve duas opções.

  1. Opção 1: configurar o exemplo usando o Portal de Gerenciamento do ACS

  2. Opção 2: configurar o exemplo usando o Serviço de Gerenciamento do ACS

Opção 1: configurando o exemplo usando o portal de gerenciamento do ACS

Para configurar o exemplo usando o Portal de Gerenciamento do ACS

  1. Acesse o Portal de Gerenciamento de Microsoft Azure (https://manage.WindowsAzure.com), entre e clique no Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível)

  2. Para criar um namespace do Access Control clique em Novo, clique em Serviços de Aplicativo, clique em Access Control, e depois em Criação Rápida. (Or, clique em Namespaces do Access Control antes de clicar em Novo.)

  3. Para gerenciar um namespace do Access Control, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

    Essa ação abre o portal de gerenciamento do Serviço de Controle de Acesso.

  4. Para estabelecer relações com os provedores de identidade que você deseja que o usuários do seu site utilizem ao fazer a conexão, clique em Provedores de identidade e adicione Yahoo! e Google. Para voltar à página inicial, clique em Página inicial.

  5. Para registrar seu aplicativo no ACS, na home page do portal de gerenciamento do serviço Controle de Acesso, clique em aplicativos de terceira parte confiável, clique em Adicionar e, em seguida, insira as seguintes informações no formulário:

    • No campo Nome, insira ASPNET Simple MVC Sample.

    • No campo Realm , insira https://localhost:63000/

    • No campo URL de Retorno , insira https://localhost:63000/

    • No campo URL de Erro , insira https://localhost:63000/Error

    • No campo Formato do token, selecione SAML 2.0.

    • No campo Autenticação de token, selecione Utilizar certificado do namespace de serviço (padrão).

  6. Clique em Salvar e depois clique em Página inicial para voltar à página inicial.

  7. Com sua terceira parte confiável registrada, agora é hora de criar as regras que determinam as declarações que o ACS emitirá ao seu aplicativo. Neste exemplo, passaremos por todas as declarações emitidas pelo provedor de identidade. Para criar essa regra, clique em Grupos de regras e clique em Grupo de regras padrões para ASPNET Simple MVC Sample. Próximo à parte inferior da página, clique no link Gerar. Verifique se os três provedores de identidade Yahoo!, Google e Windows Live ID (conta da Microsoft) estão selecionados e clique em Gerar.

  8. Clique em Salvar e navegue de volta para a página inicial.

  9. Com o ACS configurado, abra Visual Studio.

Opção 2: configurar o exemplo usando o serviço de gerenciamento acs

A solução de exemplo Visual Studio tem um aplicativo de console chamado ConfigureSample que usa o Serviço de Gerenciamento do ACS e os auxiliares comuns definidos na biblioteca de classes Comum. Esse aplicativo pode ser usado para configurar seu namespace Controle de Acesso para uso com este exemplo.

Para configurar o exemplo usando o Serviço de Gerenciamento do ACS

  1. Para configurar o exemplo, abra o arquivo SamplesConfiguration.cs (acs\Management\ManagementService\Common). Substitua os espaços reservados na classe SamplesConfiguration na biblioteca de classes Comum por informações sobre seu namespace Controle de Acesso. Você pode encontrar as informações no Portal de Gerenciamento do ACS.

    Para navegar até o Portal de Gerenciamento do ACS: acesse o portal de gerenciamento de Microsoft Azure (https://manage.WindowsAzure.com), entre e clique no Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível) Para gerenciar um namespace Controle de Acesso, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

    • ServiceNamespace – insira o nome do namespace Controle de Acesso.

    • ManagementServiceIdentityName – insira o nome de uma conta de serviço de gerenciamento do ACS. O padrão é ManagementClient.

      Para localizar o nome da conta do serviço de gerenciamento, no Portal de Gerenciamento do ACS, clique no serviço gerenciamento. As contas são listadas por nome em Contas do serviço de gerenciamento.

    • ManagementServiceIdentityKey - Insira a senha da conta do serviço de gerenciamento.

      Para localizar a senha da conta do serviço de gerenciamento, no Portal de Gerenciamento do ACS, clique no serviço gerenciamento. Clique no nome de uma conta do serviço de gerenciamento e, em Credenciais, clique em Senha. A senha é exibida no campo Senha. Para copiar a senha, clique em Mostrar senha.

  2. Execute o aplicativo ConfigureSample no Visual Studio, que configurará o ACS para executar este exemplo.

Executando o exemplo

Para executar a amostra

  1. Abra o exemplo localizado em Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln em Visual Studio

  2. Pressione F5 para iniciar o aplicativo.

  3. Feche o navegador para interromper o aplicativo e prossiga com a configuração do ACS.

  4. Clique com o botão direito do mouse no projeto e selecione Adicionar Referência de STS no menu contextual.

  5. Na caixa de diálogo, insira a raiz do aplicativo Web no campo URI do aplicativo e clique em Avançar. Para este exemplo, esse valor é https://localhost:63000/

    Observação

    A barra à direita é importante, pois se alinha com os valores que você inseriu no ACS para sua terceira parte confiável. O assistente enviará um aviso de que seu site não está utilizando o protocolo SSL. Aceite este aviso clicando no botão Sim, mas lembre-se de que um site em produção deve quase sempre utilizar SSL para estes cenários.

  6. Na próxima janela, selecione o botão Usar sts existente e insira o URI do WS-Federation metadados publicados pelo namespace Controle de Acesso. Para localizar o URI, no portal do ACS, clique em Integração de Aplicativos. Se o nome do namespace Controle de Acesso for acssamples, o URI será https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. Após inserir esse valor, clique em Avançar.

  7. Como seu site não exige tokens criptografados, clique em Avançar e depois clique em Concluir.

  8. O ACS e seu aplicativo agora estão configurados. Pressione F5 em Visual Studio para executar o aplicativo. Seu navegador será direcionado para a página descoberta de realm inicial hospedada no ACS.

  9. Clique em Google. Seu navegador será redirecionado para uma página de conexão do Google.

  10. Insira as credenciais para a conta do Google e recuse o formulário de consentimento do usuário.

  11. Seu navegador deve retornar https://localhost:63000/Error e exibir uma cadeia de caracteres de erro personalizada indicando que o logon no site foi cancelado.

  12. Para tentar novamente, clique no link e depois clique em um provedor de identidade.

  13. Quando seu navegador estiver no provedor de identidade, insira as credenciais para uma conta de teste, mas, desta vez, aceite o formulário de consentimento do usuário.

  14. Seu navegador deve voltar para https://localhost:63000/. Observe que o nome da sua identidade de teste é exibido na seção do canto superior direito da página. Esses dados foram emitidos pelo provedor de identidade e foram retornados ao aplicativo por meio do ACS.