Autenticação integrada no IIS 6 a partir da linha de comando

2

Ao implantar uma nova versão do nosso aplicativo ASP.NET, precisamos definir o método de autenticação para que uma determinada página seja "Somente integrada". Podemos fazer isso a partir do console de gerenciamento do IIS, mas gostaríamos de escrever um script (lote ou PowerShell, não importa) que faça a alteração para garantir que tudo corra bem na implantação.

O restante das páginas do aplicativo permitirá diferentes métodos de autenticação, mas essa página específica só permitirá a integração.

Na mesma implantação, também precisamos alterar o local das páginas de erro personalizadas para todos os erros 401, preferencialmente também da linha de comando.

    
por Brien 29.05.2009 / 19:22

2 respostas

5

AdsUtil.VBS é seu amigo:

adsutil.vbs set  W3SVC/1/root/AuthNTLM true
adsutil.vbs set  W3SVC/1/root/AuthAnonymous false
adsutil.vbs set  W3SVC/1/root/AuthBasic  false
adsutil.vbs set  W3SVC/1/root/AuthPassport false
adsutil.vbs set  W3SVC/1/root/AuthMD5 false

Qual é o mesmo que:

adsutil.vbs set  W3SVC/1/root/AuthFlags 5

Observe que < 1 > é o seu ID do site.

Para CustomErrors, você precisa atualizar o campo root / HTTPErrors que, na verdade, é um item LIST. David Wang tem o roteiro apropriado para isso: chglist.vbs

chglist.vbs W3SVC/1/HttpErrors 404 404,*,URL,/CustomErrors/404.asp /COMMIT 

Para arquivos individuais, você pode adicioná-los após o / Root / Path:

adsutil.vbs set W3SVC/1/root/MyFile.txt/AuthFlags 5
    
por 29.05.2009 / 19:31
2

Você pode controlar a autenticação de um arquivo web.config. Você colocaria o seguinte no seu web.config (de link ):

<system.web>
   <!-- mode=[Windows|Forms|Passport|None] -->
   <authentication mode="Windows" />
</system.web>

Como alternativa, você pode verificar a API System.DirectoryServices para IIS 5 & 6 ( link ) ou a API Microsoft.Web.Administration para o IIS 7 ( link ).

    
por 29.05.2009 / 19:31