IIS 7.5 no servidor do Win 2008 r2 useAppPoolCredentials

5

Estou tentando configurar a autenticação do Windows para um novo site no IIS 7.5. Eu tenho o módulo de autenticação do Windows habilitado para o site e todos os outros tipos de autenticação (como anônimo, básico etc) desativado. O pool de aplicativos do site é executado em uma identidade personalizada para a qual o SPN e os cabeçalhos de host foram definidos adequadamente. Ao tentar acessar qualquer conteúdo (como um arquivo de texto) hospedado no site por meio do navegador, recebo um erro 401.2. Eu segui esta sugestão e adicionei o atributo useAppPoolCredentials ao applicationHost.config e sou capaz de acessar o recurso usando a autenticação do Windows.

Em seguida, removi o atributo e salvei o applicationHost.config novamente, desfazendo minhas alterações e ainda posso acessar o recurso. O que dá? Alguém pode me ajudar a entender esse comportamento?

Também em uma instalação específica do IIS 7.5 no servidor Win 2008R2, observei que qualquer alteração na configuração padrão de um site (ou de um aplicativo) faz com que o IIS gere automaticamente um arquivo Web.config na raiz do site / aplicação. Existe uma configuração para ativar isso em vez de ter que atualizar applicationHost.config diretamente?

EDIT O navegador estava armazenando a resposta em cache e, portanto, desfazendo as alterações e salvando o arquivo parecia não fazer diferença. Então, a única questão que tenho agora está relacionada à geração do Web.config

    
por Abhijeet Patel 18.05.2011 / 03:56

1 resposta

3

Em relação à sua segunda pergunta sobre como garantir que as alterações de configuração sejam mantidas no web.config de um site, em vez de applicationHost.config , isso pode ser controlado via Delegação de Recursos.

Se você navegar até o nó da máquina do Gerenciador do IIS, verá um ícone chamado "Delegação de recursos":

Inicieeste"applet" do IIS e será apresentada uma lista de recursos que podem ter suas configurações delegadas para web.config .

As configurações marcadas com Read / Write normalmente terão suas configurações gravadas no arquivo web.config . As configurações marcadas como Somente leitura normalmente terão suas configurações gravadas em applicationHost.config e não podem ser substituídas no arquivo web.config .

Por acaso, a configuração <windowsAuthentication> pode ser delegada ao arquivo web.config .

Minor Gotcha:

Nem todos os applets apresentam toda a gama de configurações que você pode configurar. Um bom exemplo disso, por acaso, é o atributo <windowsAuthentication> useAppPoolCredentials . Não é para ser visto no applet de autenticação, nem mesmo em Configurações avançadas .

No entanto, você pode obter este valor (e praticamente todo o resto) através do Configuration Editor . Se você navegar até o nó do seu site no painel esquerdo do gerenciador do IIS, verá esse ícone em Gerenciamento :

SevocêiniciaroEditordeconfiguração,seráapresentadaumalistasuspensacontendoumaárvorecomváriasconfigurações:

Se selecionarmos o nó /system.webServer/security/authentication/windowsAuthentication , apresentamos o espectro total de configurações que podem ser alteradas. Aqui podemos ver a configuração em que estamos interessados ( useAppPoolCredentials ):

Vocêpodeescolhersedesejaconfigurarosvaloresparaowebsiteemweb.configouemapplicationHost.confignalistasuspensaDe:aoladodalistasuspensadaárvoredeconfigurações:

Se uma seção não tiver sido delegada como Read / Write no web.config , você verá o seguinte:

Recebemos um alerta dizendo que esse recurso específico está bloqueado, todas as configurações estão em cinza e desativadas e há um cadeado indicando que as configurações filho desse recurso também estão bloqueadas.

Por fim, nem todas as configurações podem ser delegadas, por exemplo, vinculações de sites, pool de aplicativos e diretórios virtuais.

    
por 22.05.2011 / 15:24