Exemplo de código: ASP.NET MVC 4 com saída federada
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 Controle de Acesso Service ou ACS) a um aplicativo ASP.NET MVC 4. A integração do ACS ativa recursos de logon único e logoff único para provedores de identidade suportados em um aplicativo MVC 4 ASP.NET.
O código deste exemplo está localizado no subdiretório ASPNETSimpleMVC4 (C#\Websites\ASPNETSimpleMVC4) do pacote de exemplos de código Microsoft Azure Active Directory Controle de Acesso (ACS).
Para obter mais informações sobre o recurso de logon único no ACS, consulte Logon único.
Pré-requisitos
Para executar esta amostra, você precisará do seguinte:
Uma conta no portal do Azure (https://go.microsoft.com/fwlink/?LinkID=275081) e um namespace Controle de Acesso. Este exemplo usa um namespace Controle de Acesso chamado acssamples. Seu nome do namespace pode ser diferente.
Para obter mais informações sobre como criar um namespace Controle de Acesso, consulte Como criar um namespace Controle de Acesso.
Visual Studio 2012
Ferramenta de Identidade e Acesso para Visual Studio 2012 (https://msdn.microsoft.com/library/hh545418.aspx)
Para obter mais informações, consulte os pré-requisitos do ACS.
Configurando o exemplo
Você pode usar o Portal de Gerenciamento do ACS ou o Serviço de Gerenciamento do ACS para configurar este exemplo. Este tópico descreve duas opções.
Opção 1: usando o Portal de Gerenciamento do ACS
Opção 2: usando o Serviço de Gerenciamento do ACS
Opção 1: usando o Portal de Gerenciamento do ACS
Para configurar o exemplo usando 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 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.)
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.)
O Portal de Gerenciamento do ACS é aberto.
Para permitir que os usuários do aplicativo faça logon com suas identidades google ou Yahoo! , clique em Provedores de identidade, clique em Adicionar e, em seguida, adicione Google e Yahoo!.
Para obter instruções, consulte o Google como um provedor de identidade acs e yahoo! como um provedor de identidade acs. Windows ID dinâmica (conta da Microsoft) é adicionada por padrão e não pode ser excluída.
Para registrar seu aplicativo no ACS, clique em Aplicativos de terceira parte confiável, clique em Adicionar, insira as informações a seguir no formulário e clique em Salvar.
No campo Nome, insira ASPNETMVC4Sample.
No campo Realm , insira https://localhost:65000/
No campo URL de Retorno , insira https://localhost:65000/
No campo URL de Erro , insira https://localhost:65000/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).
Para obter informações sobre os campos e valores na página Adicionar Aplicativo de Terceira Parte Confiável, consulte Aplicativos de Terceira Parte Confiável.
Para criar um grupo de regas que envie todas as declarações enviadas pelos provedores de identidade para o aplicativo de terceira parte confiável, clique em Grupos de regras, clique em Grupo de regras padrão para o Exemplo MVC4 simples do ACS, e clique em Gerar e clique em Salvar.
A seção Grupos de regras do portal do ACS cria as regras que determinam quais declarações o ACS envia ao seu aplicativo. Ao selecionar todas as regras geradas, você configura o ACS para enviar todas as declarações emitidas pelos provedores de identidade para o aplicativo de terceira parte confiável.
O exemplo agora está configurado e pronto para ser executado no Visual Studio 2012.
Opção 2: usando o Serviço de Gerenciamento do 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. Você pode usar esse aplicativo para configurar seu namespace Controle de Acesso para uso com este exemplo.
Para configurar o exemplo usando o Serviço de Gerenciamento do ACS
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.
Execute o aplicativo ConfigureSample no Visual Studio. O aplicativo usa os dados em SamplesConfiguration.cs para configurar o ACS para executar o exemplo.
Executando o exemplo
Para executar a amostra
Abra o arquivo de solução do exemplo, ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\), em Visual Studio 2012.
Clique com o botão direito do mouse no projeto e selecione Identidade e acesso do menu de contexto.
Selecione Uso do Access Control Service (ACS) do Azure.
Do lado de Selecione um ou mais provedores ... clique em Configurar.
Insira o namespace Controle de Acesso e a senha da conta de serviço de gerenciamento.
Selecione um ou mais provedores de identidade da lista.
Os provedores de identidade exibidos são aqueles que você adicionou quando configurou o exemplo no portal do ACS ou no serviço de gerenciamento do ACS.
Seu aplicativo da terceira parte confiável agora está configurado para usar o ACS.
Pressione F5 para executar o aplicativo. Seu navegador é direcionado para a página descoberta de realm inicial do ACS.
Clique em Google. Seu navegador é redirecionado à página de entrada do Google.
Insira as credenciais de uma conta do Google e recuse o formulário de consentimento do usuário.
O navegador é redirecionado para https://localhost:65000/. Observe que o seu nome de usuário do Google aparece na esquina superior esquerda da página. Isto indica que você está conectado no aplicativo de terceira parte confiável. Para desconectar-se do aplicativo da terceira parte confiável, clique no link Sair. Observe que você não está mais autenticado.
Consulte Também
Conceitos
Como criar um namespace Controle de Acesso
Serviço de Gerenciamento ACS