sábado, 30 de abril de 2011

IIS Credentials

Como posso executar um aplicativo com credenciais específicas no lado servidor de um aplicativo ASP.NET? Tentei o comando run as, mas ele requer que o usuário inclua a senha em tempo de execução.

Se estiver usando o Windows Server 2003 com IIS 6.0, você poderá criar um novo pool de aplicativos no IIS com diferentes credenciais e, em seguida, configurar o diretório virtual de seu aplicativo ASP.NET para utilizá-lo. Estas são as etapas a serem seguidas:
  1. Clique com o botão direito na pasta Application Pool e selecione New.
  2. Percorra as etapas do assistente.
  3. Uma vez criado o pool de aplicativos, clique com o botão direito sobre ele e, em seguida, selecione Properties.
  4. Clique na guia Identity e muda a conta.
  5. Atribua o pool de aplicativos a um aplicativo, clicando com o botão direito sobre a pasta no IIS e selecionando Properties.
  6. Clique na guia Directory/Home Directory e altere o dropdown AppPool para o pool de aplicativos que você criou. O aplicativo será agora executado no novo pool de aplicativos com a identidade que você especificou.
Se estiver usando o IIS 5.0, você poderá usar o recurso de personificação no Web.config para executar o aplicativo como um usuário específico:
<identity impersonate="true" userName="domain\user" password="<pass>" />

Você poderá então usar aspnet_setreg.exe para criptografar o nome de usuário e a senha e colocá-los no registro. Você também poderá personificar programaticamente um usuário, usando a função LogonUser exportada da advapi32.dll.

No IIS 5.0, se quiser executar todos os aplicativos como um usuário específico, você pode alterar os atributos userName e Password da tag <processModel> no machine.config.

0 comentários: