Implementação de aplicações federadas acs e serviço para a Azure
Aplica-se A
Microsoft Azure Ative Directory Controlo de Acesso (também conhecido como serviço de Controlo de Acesso ou ACS)
Windows Identity Foundation (WIF)
Microsoft Azure
Resumo
Este tópico consolida as diretrizes que deve ter em conta quando desenvolver aplicações e serviços que utilizam ACS e que serão implementados para a Azure.
Objetivos
Trabalhe em torno de portas geradas dinamicamente com Emulator compute.
Implementar Windows o tempo de execução da Fundação de Identidade (WIF) para Azure.
Criptografe cookies usando RSA.
Configurar conjuntos invocados através de reflexão a serem implantados em Azure.
Trabalhe em torno de portas geradas dinamicamente com Emulator Compute
Esta secção é relevante quando cria aplicações web. Não é relevante quando cria serviços web. A computação Emulator faz parte das ferramentas Azure SDK. Pode usá-lo para executar, testar, depurar e afinar a sua aplicação antes de a implementar como serviço hospedado na Azure. No Emulator Compute, não é possível alocar um endereço IP único. O Compute Emulator tentativas de atribuir a porta solicitada. Se essa porta não estiver disponível, atribui o próximo melhor número de porta disponível. Isto significa que no Emulator Compute, o seu serviço pode ser atribuído um número de porta diferente do número de porta que especificou no ficheiro de definição. Para obter mais informações sobre o Emulator computacional, consulte a visão geral do Emulator Windows Azure Compute (https://go.microsoft.com/fwlink/?LinkId=221212).
Se o Compute Emulator atribuir um endereço IP diferente do endereço IP configurado como URL de devolução no Portal de Gestão ACS, o ACS irá redirecionar as solicitações autenticadas para o URL que está configurado no campo URL de retorno da configuração do partido, mas não existirá nenhuma página correspondente neste URL. Como resultado, será apresentado com página em branco.
Para contornar este comportamento, configuure a porta pública do ponto final da sua aplicação web em nuvem para uma porta que esteja disponível no seu computador. Em seguida, a Compute Emulator não atribuirá uma porta aleatória para evitar uma colisão.
Para configurar o ponto final para usar uma porta disponível
Para abrir o pedido de comando, clique em Iniciar, digite cmd e, em seguida, prima Enter.
Executar o seguinte comando para exibir a lista de endereços IP anfitriões locais com portas usadas: netstat – a – n | findstr 127.0.0.1
Verifique a lista e identifique uma porta que não esteja atualmente em uso. Utilizará esta porta nos seguintes passos.
Em Explorador de Soluções, clique duas vezes no seu papel, que está localizado sob a pasta Roles no projeto cloud. A página de propriedades de função abre.
Na página 'Propriedades de Função Web ', clique no separador Pontos finais .
No ficheiro **Porto Público ** especifique o valor da porta que identificou no Passo 3.
Para salvar o seu trabalho, prima Ctrl+S.
Implementar Windows a Fundação de Identidade para Windows Azure
Windows Identity Foundation (WIF) é um tempo de execução fora de banda que deve ser instalado no computador para que a sua aplicação consciente das reclamações possa usá-la. WiF não é instalado por padrão em instâncias Azure. Para executar a sua aplicação de reclamações na nuvem, você deve disponibilizar o tempo de execução WIF na instância Azure. A maneira mais fácil é fazê-lo é incluir o conjunto WIF com o pacote de implantação.
Para incluir o conjunto WIF com o pacote de implantação Windows Azure
Na Explorador de Soluções, localize a sua aplicação de sinistros.
Expandir a pasta Referências .
Localizar o conjunto Microsoft.IdentityModel sob a pasta Referências .
Clique com o botão direito no conjunto e, em seguida, clique em Propriedades.
Na janela das propriedades, especifique **Copy Local ** como Versão Verdadeira e Específica como Falso.
Criptografe cookies usando RSA
Esta secção é relevante quando cria aplicações web. Por predefinição, a WIF protege os cookies criptograficamente utilizando interfaces de programação de aplicações de proteção de dados (DPAPI). A DPAPI não está disponível no Azure. Para se certificar de que a aplicação web consciente de reclamações na nuvem funciona corretamente quando é implantada no Azure, tem de adicionar a funcionalidade de encriptação de cookies utilizando o RSA.
Para encriptar cookies usando RSA
Na Explorador de Soluções, localize a sua aplicação web consciente de reclamações na nuvem.
Abra o ficheiro global.asax.cs, que é o código por trás do ficheiro global.asax, no editor Visual Studio.
Adicione as seguintes declarações:
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Web; using Microsoft.IdentityModel.Web.Configuration;
Adicione o seguinte código:
void OnServiceConfigurationCreated(object sender, ServiceConfigurationCreatedEventArgs e) { // // Use the <serviceCertificate> to protect the cookies that are // sent to the client. // List<CookieTransform> sessionTransforms = new List<CookieTransform>(new CookieTransform[] { new DeflateCookieTransform(), new RsaEncryptionCookieTransform(e.ServiceConfiguration.ServiceCertificate), new RsaSignatureCookieTransform(e.ServiceConfiguration.ServiceCertificate) }); SessionSecurityTokenHandler sessionHandler = new SessionSecurityTokenHandler(sessionTransforms.AsReadOnly()); e.ServiceConfiguration.SecurityTokenHandlers.AddOrReplace(sessionHandler); } void Application_Start(object sender, EventArgs e) { FederatedAuthentication.ServiceConfigurationCreated += OnServiceConfigurationCreated;
Nota
Se já adicionou o Application_Start manipulador de eventos, pode atualizá-lo para incluir este código.
Guarde o seu trabalho.
Configurar conjuntos que são invocados através de reflexão a implantar para Windows Azure
Em alguns casos, as assembleias são invocadas através de reflexão, por exemplo, ao desenvolver serviços wcf de transferência estatal representativa (REST) ou httpModules que inspecionam fichas SWT recebidas. Para se certificar de que estes conjuntos são implantados no Azure, tem de realizar passos adicionais para os adicionar ao pacote de implantação.
Para adicionar conjuntos que são invocados através de reflexão ao pacote de implantação Windows Azure
Expandir a pasta de contentores da aplicação ou serviço web conscientes de reclamações na nuvem.
Clique no conjunto com o direito e, em seguida, clique em Incluir Project.
Clique com o direito na mesma biblioteca e, em seguida, clique em Propriedades.
Na janela Propriedades , clique em Copiar se for mais recente para o Copy to Output Directory.