Posso usar o IIS para fazer o logon único do ActiveDirectory em outro site?

1

Estou tentando adicionar suporte de logon único do Active Directory a um servidor SOAP existente. O servidor pode ser configurado para aceitar um proxy reverso confiável e usar o cabeçalho HTTP X-Remote-User para o usuário autenticado. Eu quero configurar o IIS para ser o proxy confiável para este serviço, para que ele manipule toda a autenticação do Active Directory para o servidor SOAP.

Basicamente, o IIS teria que aceitar conexões HTTP na porta X e na URL Y, fazer toda a autenticação e, em seguida, fazer proxy na conexão para um servidor diferente (provavelmente o mesmo X e Y).

Infelizmente, eu não tenho conhecimento do IIS ou do AD (por isso estou tentando o meu melhor para aprender o suficiente para construir essa solução), então, por favor, seja gentil. Eu diria que este não é um cenário incomum, então há alguma maneira fácil de fazer isso?

  1. Esse tipo de funcionalidade é incorporado ao IIS ou eu preciso criar algum tipo de programa proxy do IIS?

  2. Existe uma opção melhor para obter a autenticação feita e o cabeçalho HTTP X-Remote-User definido do que exigir o IIS?

Atualização:

Por exemplo, o que estou tentando criar é:

  [CLIENT]            [IIS]         [AD]        [SOAP-SERVER]
1.    |---------------->| 
2.    |<--------------->|<---------->| 
3.                      |--------------------------->| 
4.                      |<---------------------------| 
5.    |<----------------| 

1. POST to http://example.com/foo/bar.cgi
2. Client is not authenticated, so do authentication
3. Once validated, send request to server (X-Remote-User: {userid})
4. Process request, send response
5. Forward response to client

Eu preciso saber como configurar o IIS para fazer a autenticação automática do usuário usando o AD e, em seguida, fazer proxy da solicitação para o servidor real, enviando o ID do usuário no cabeçalho HTTP do X-Remote-User.

    
por brofield 22.04.2010 / 05:27

3 respostas

1

A solução mais simples para isso é usar o ISA Server (ou o Forefront TMG) como um proxy reverso do site. Você pode configurar a regra ISA para o site para autenticar o acesso do usuário via AD.

Você também pode manipular os cabeçalhos de host do site e deve conseguir o que deseja por meio das opções de política HTTP da regra do site.

Não acredito que a funcionalidade de que você precisa esteja disponível no IIS.

    
por 13.05.2010 / 11:26
0

Eu recomendaria dar uma olhada nos Serviços de Federação do Active Directory. Pode fornecer conexão única.

link

    
por 13.05.2010 / 17:21
0

Assim como o Apache pode fazer coisas parecidas com módulos, o mesmo pode acontecer com o IIS - no entanto, nada é incorporado nativamente que permita o comportamento de proxy reverso.

Você pode obter algum comportamento semelhante a um proxy reverso através da regravação de URL e dos módulos de roteamento de solicitação de aplicativo. Eu não sei se você pode ir tão longe quanto modificar os cabeçalhos. Veja este post para mais informações: link

Você também pode implantar um código personalizado que funciona de maneira semelhante. Veja este artigo para uma implementação de amostra, embora seus resultados possam não ser exatamente o que você espera - na verdade, é um problema mais difícil do que simplesmente mover bits através de um intermediário: link

Realmente para proxy reverso, você deve estar olhando para o servidor ISA para aderir à plataforma MS.

    
por 13.05.2010 / 15:27