IIS 6 Autenticação do Windows no aplicativo ASP.Net falha

1

Estou tentando instalar um aplicativo ASP.Net em um servidor IIS6. O site exige que o usuário se autentique com o Windows, e isso funciona em vários outros aplicativos no mesmo servidor.

No IIS, eu habilitei o acesso anônimo e a autenticação do windows.

No web.config, a autenticação é definida como:

<authentication mode="Windows"/>

e autorização ...:

<authorization>
  <allow roles="Users"/>
  <deny users="*"/>
</authorization>

Ou seja. permitir a todos os usuários na função "Usuários" e negar a todos os outros. Essa é a abordagem que está trabalhando com vários outros aplicativos no mesmo servidor.

Se eu executar o site, solicitarei o nome de usuário e a senha.

Se eu remover a linha:

  <deny users="*"/>

Eu posso acessar o site e tudo funciona - mas as credenciais do usuário não são passadas para o site (Page.User.Identity.Name retorna uma string em branco no ASP.Net).

O site tem permissões de arquivo idênticas (herdadas) como outros sites de trabalho no servidor.

A única diferença na autenticação / autorização entre este site e os outros sites de trabalho é que ele executa o Asp.Net 4 (mas também há outros sites do asp.net 4 funcionando no servidor).

O que estou perdendo aqui?

Onde devo procurar?

    
por Kjensen 17.12.2010 / 15:53

3 respostas

1

Se o site exigir que o usuário autentique, você deverá remover o acesso anônimo e permitir somente o Windows integrado. Page.User.Identity.Name retorna um espaço em branco porque a autenticação anônima é usada em janelas integradas.

Se este for um domínio, as funções de permissão devem estar no domínio de formulário \ grupo de segurança. "?" em negar usuários geralmente é suficiente para bloquear o acesso anônimo.

<identity impersonate="true" /> pode ser útil se seu código precisar acessar um recurso que precisa ser autenticado como o usuário que está usando seu aplicativo.

    
por 16.01.2011 / 15:24
0

Tente usar "?" em vez de "*" na regra "negar usuários".

    
por 11.01.2011 / 15:32
0

Ou tente o seguinte: <deny users="*,?"/>

    
por 12.01.2011 / 03:33