Amostra de código: ASP.NET Simples MVC 2
Atualizado: 19 de junho de 2015
Aplica-se a: Azure
Esta amostra ilustra como integrar Microsoft Azure Ative Directory Controlo de Acesso (também conhecido como serviço Controlo de Acesso ou ACS) com uma aplicação de MVC ASP.NET. O código desta amostra está localizado na subdirectória ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) do pacote de amostras de código Microsoft Azure Ative Directory Controlo de Acesso (ACS).
Pré-requisitos
Para executar esta amostra, você precisará:
Uma conta na página inicial do Azure e um Controlo de Acesso espaço de nome. Esta amostra assume que o nome do Ir ao Portal de Gestão Microsoft Azure (https://manage.WindowsAzure.com), iniciar sôm e, em seguida, clicar em Ative Directory. (Dica de resolução de problemas: o item "Ative Directory" está em falta ou não está disponível) é um acssamples, mesmo que o seu nome de Controlo de Acesso nomespace seja diferente.
Visual Studio 2010 (qualquer versão)
Fundação Windows Identidade SDK
Para mais detalhes, consulte os pré-requisitos acs (https://go.microsoft.com/fwlink/?LinkId=221065).
Configurar a amostra
A configuração ACS necessária para esta amostra pode ser realizada utilizando o Portal de Gestão ACS ou o Serviço de Gestão ACS. Este tópico descreve ambas as opções.
Opção 1: Configurar a amostra utilizando o Portal de Gestão ACS
Opção 2: Configurar a amostra utilizando o Serviço de Gestão ACS
Opção 1: Configurar a amostra utilizando o Portal de Gestão ACS
Para configurar a amostra utilizando o Portal de Gestão ACS
Vá ao Portal de Gestão Microsoft Azure (https://manage.WindowsAzure.com), inscreva-se e, em seguida, clique em Ative Directory. (Dica de resolução de problemas: o item "Ative Directory" está em falta ou não está disponível)
Para criar um Controlo de Acesso espaço de nome, clique em Novos, clique em Serviços de Aplicações, clique Controlo de Acesso e, em seguida, clique em "Criar" Quick. (Ou, clique Controlo de Acesso Espaços de Nome antes de clicar em New.)
Para gerir um Controlo de Acesso espaço de nome, selecione o espaço de nomes e, em seguida, clique em Gerir. (Ou, clique Controlo de Acesso Espaços de Nome, selecione o espaço de nomes e, em seguida, clique em Gerir.)
Esta ação abre o portal de gestão do Serviço Controlo de Acesso.
Para estabelecer relações com os fornecedores de identidade que gostaria que os utilizadores do seu website usassem ao iniciar sessão, clique em Fornecedores de Identidade e adicione Yahoo! Para voltar à página principal, clique em Casa.
Para registar a sua candidatura com ACS, na página inicial do portal de gestão do Serviço Controlo de Acesso, clique em Aplicações de Partidos Desematárido, clique em Adicionar e, em seguida, introduza as seguintes informações no formulário:
No campo Nome , insira a amostra simples de MVC ASPNET.
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 de formato Token , selecione SAML 2.0.
No campo de assinatura token , selecione Use o certificado de espaço de serviço (standard).
Clique em Guardar e, em seguida, clique em Home para devolver a página inicial.
Com a sua parte de gestão registada, é agora tempo de criar as regras que determinam as alegações que a ACS irá emitir à sua aplicação. Nesta amostra, passaremos simplesmente por todas as reclamações emitidas pelo fornecedor de identidade. Para criar esta regra, clique em Grupos de Regras e clique em Grupo de Regras Predefinidos para amostra de MVC simples ASPNET. Perto da parte inferior da página, clique no link Gerar . Certifique-se de que os três fornecedores de identidade Yahoo!, Google e Windows Live ID (conta Microsoft) são selecionados e clique em Gerar.
Clique em Guardar e navegar de volta para a página principal.
Com ACS configurado, aberto Visual Studio.
Opção 2: Configurar a amostra utilizando o Serviço de Gestão ACS
A solução de amostra Visual Studio tem uma aplicação de consola chamada ConfigureSample que utiliza o Serviço de Gestão ACS e os ajudantes comuns definidos na biblioteca da classe Comum. Esta aplicação pode ser usada para configurar o seu Controlo de Acesso espaço de nome para utilização com esta amostra.
Para configurar a amostra utilizando o Serviço de Gestão ACS
Para configurar a amostra, abra a Configuração de Amostras.cs (acs\Management\ManagementService\Common). Substitua os espaços reservados na classe SamplesConfiguration na biblioteca da classe Comum por informações sobre o seu Controlo de Acesso espaço de nome. Pode encontrar a informação no Portal de Gestão da ACS.
Para navegar no Portal de Gestão ACS: Vá ao Portal de Gestão Microsoft Azure (https://manage.WindowsAzure.com), inscreva-se e, em seguida, clique em Ative Directory. (Dica de resolução de problemas: o item "Ative Directory" está em falta ou não está disponível) Para gerir um Controlo de Acesso espaço de nome, selecione o espaço de nomes e, em seguida, clique em Gerir. (Ou, clique Controlo de Acesso Espaços de Nome, selecione o espaço de nomes e, em seguida, clique em Gerir.)
ServiceNamespace - Insira o nome do seu Controlo de Acesso espaço de nome.
ManagementServiceIdentityName - Introduza o nome de uma conta de serviço de gestão ACS. O padrão é ManagementClient.
Para encontrar o nome da conta do serviço de gestão, no Portal de Gestão acs, clique no serviço Gestão. As contas estão listadas pelo nome em Contas de Serviço de Gestão.
ManagementServiceIdentityKey - Introduza a palavra-passe para a conta de serviço de gestão.
Para encontrar a senha de conta de serviço de gestão, no Portal de Gestão ACS, clique no serviço De Gestão. Clique no nome de uma conta de serviço de gestão e, em seguida, em Credenciais, clique em Palavra-passe. A palavra-passe aparece no campo Palavra-passe . Para copiar a palavra-passe, clique em Mostrar Palavra-Passe.
Executar a aplicação ConfigureSample em Visual Studio, que configurará ACS para executar esta amostra.
Executando a amostra
Para executar a amostra
Abra a amostra localizada nos Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln em Visual Studio
Prima F5 para iniciar a aplicação.
Feche o navegador para parar a aplicação e proceder à configuração do ACS.
Clique com o direito no projeto e selecione Adicionar Referência STS no menu de contexto.
Na caixa de diálogo, introduza a raiz da aplicação web no campo URI de aplicação e clique em Seguinte. Para esta amostra, este valor é https://localhost:63000/
Nota
O corte de fuga é importante, uma vez que alinha-se com os valores que inseriu no ACS para a sua festa de confiação. O assistente emitirá um aviso de que o seu site não está a utilizar SSL. Aceite este aviso clicando no botão Sim , mas lembre-se que um site de produção deve usar quase sempre SSL para estes cenários.
Na janela seguinte, selecione o botão de rádio Use EXISTENTE STS e introduza o URI do WS-Federation metadados publicados pelo seu Controlo de Acesso espaço de nome. Para encontrar o URI, no portal ACS, clique em Integração de Aplicações. Se o nome do seu Controlo de Acesso espaço de nome for acssamples, o URI é https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. Depois de introduzir este valor, clique em Seguinte.
Uma vez que o seu website não requer tokens encriptados, clique em Next e clique em Terminar.
ACS e a sua aplicação estão agora configuradas. Prima F5 em Visual Studio para executar o pedido. O seu navegador será direcionado para a página ACS home realm Discovery.
Clique no Google. O seu navegador será redirecionado para uma página de sinse-in do Google.
Introduza credenciais para uma conta do Google e recuse o formulário de consentimento do utilizador.
O seu navegador deve voltar https://localhost:63000/Error e exibir uma cadeia de erros personalizada que indique que o login no site foi cancelado.
Para tentar novamente, clique no link e, em seguida, clique num fornecedor de identidade.
Quando o seu navegador estiver no fornecedor de identidade, introduza credenciais para uma conta de teste, mas, desta vez, aceite o formulário de consentimento do utilizador.
O seu navegador deve voltar a https://localhost:63000/. Note que o nome da sua identidade de teste aparece na parte superior direita da página. Estes dados foram emitidos pelo fornecedor de identidade e foram devolvidos à sua aplicação através da ACS.