Esta documentação foi arquivada e não está sendo atualizada.

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

Publicado: abril de 2011

Atualizado: junho de 2015

Aplica-se a: Azure

Esse exemplo ilustra como fazer a integração do Access Control do Active Directory do Microsoft Azure (também conhecido como Access Control Service ou ACS) com um aplicativo ASP.NET MVC. O código para esse exemplo está localizado no subdiretório ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) do pacote Exemplos de código do Access Control (ACS) do Active Directory do Microsoft Azure.

Para executar o exemplo, é necessário:

  1. Uma conta na página inicial do Azure e um Namespace do Access Control. Esse exemplo assume que o nome do Vá para o Portal de Gerenciamento do Microsoft Azure(https://manage.WindowsAzure.com), entre e, em seguida, clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou indisponível) é acssamples, mesmo que seu Namespace do Access Control seja diferente.

  2. Visual Studio 2010 (qualquer versão)

  3. Windows Identity Foundation SDK

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

A configuração do ACS exigida para este exemplo pode ser realizada no Portal de Gerenciamento ACS ou no Serviço de Gerenciamento ACS. Este tópico descreve duas opções.

  1. Opção 1: Configurando o exemplo no Portal de Gerenciamento ACS

  2. Opção 2: Configurando o exemplo no Serviço de Gerenciamento ACS

  1. Vá para o Portal de Gerenciamento do Microsoft Azure(https://manage.WindowsAzure.com), entre e, em seguida, clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou indisponí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.)

    Esta 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 sua conta com o ACS, na página inicial do portal de gerenciamento do Serviço de controle de acesso, clique em Aplicativos de terceira parte confiável, clique em Adicionar e depois insira as seguintes informações no formulário:

    • No campo Nome, insira ASPNET Simple MVC Sample.

    • No campo Realm, digite http://localhost:63000/

    • No campo URL de Retorno, digite http://localhost:63000/

    • No campo URL de Erro, insira http://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 a terceira parte confiável registrada, é hora de criar as regras que determinam as declarações que o ACS emitirá para o 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. Certifique-se de que 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 o Visual Studio.

O exemplo de solução Visual Studio tem um aplicativo de console chamado ConfigureSample que usa o Serviço de Gerenciamento ACS e os auxiliares comuns definidos na biblioteca de classe Common. Esse aplicativo pode ser usado para configurar seu Namespace do Access Control para ser usado com esse exemplo.

  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 classe Common pelas informações do seu Namespace do Access Control. Você pode encontrar as informações no Portal de Gerenciamento ACS.

    Para navegar até o Portal de Gerenciamento ACS: Vá para o Portal de Gerenciamento do Microsoft Azure(https://manage.WindowsAzure.com), entre e, em seguida, clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou indisponível) 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.)

    • ServiceNamespace - Insira o nome do seu Namespace do Access Control.

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

      Para encontrar o nome da conta do serviço de gerenciamento, no Portal de Gerenciamento ACS, clique em Serviço de 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 encontrar a senha da conta do serviço de gerenciamento, no Portal de Gerenciamento ACS, clique em Serviço de 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 irá configurar o ACS para executar esse exemplo.

  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 continue 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. Neste exemplo, esse valor é http://localhost:63000/

    noteObservação
    É importante incluir a barra final porque ela alinha os valores que você inseriu no ACS para a 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 janela seguinte, selecione o botão de opção Utilizar STS existente e insira o URI dos metadados do WS-Federation publicados pelo seu Namespace do Access Control. Para encontrar o URI, no portal do ACS, clique em Integração do aplicativo. Se o nome do seu Namespace do Access Control 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. ACS e seu aplicativo já está configurado. Pressione F5 no Visual Studio para executar o aplicativo. Seu navegador será direcionado para a página de Home Realm Discovery 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 para http://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 retornar para http://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 devolvidos para seu aplicativo por meio do ACS.

Mostrar: