Autenticação básica do IIS7 sem conta do Windows

1

Estou tentando proteger um site MVC.NET no IIS7.5 com autenticação básica. Eu prefiro não configurar uma conta inteira do Windows para isso, pois eu não quero que o usuário tenha tanto privilégio. Eu também não quero implementar uma solução de autenticação baseada em dados. Eu só quero uma maneira rápida de criar um usuário que só pode obter acesso ao site e nada mais.

Existe uma maneira de fazer isso armazenando as credenciais no arquivo web.config? Ou use os usuários gerenciados do IIS? Os usuários gerenciados parecem um exagero, pois não quero que o usuário seja capaz de gerenciar o site, apenas tenha acesso para visualizá-lo.

    
por LaserJesus 13.08.2012 / 07:48

2 respostas

2

Se bem me lembro, você pode armazenar as credenciais dos usuários diretamente no arquivo web.config, mas somente quando usado em combinação com o provedor de autenticação de formulários.

Realmente não é recomendado armazenar credenciais como essa, especialmente quando você pode configurar facilmente o provedor de associação ASP.NET padrão para usar uma instância local do SQLCE.

<authentication mode="Forms"> 
    <forms name=".ASPNETAUTH"> 
        <credentials passwordFormat="Clear"> 
             <user name="test" password="test"/> 
        </credentials> 
    </forms> 
</authentication> 
    
por 13.08.2012 / 19:08
1

A maioria dos métodos internos de autenticação do IIS usa as contas do Windows de alguma forma ou de outra, portanto, se você não quiser fazer nenhum trabalho importante para isso, você terá que usá-las - você vai querer crie contas que sejam razoavelmente bloqueadas.

Geralmente é suficiente para:

  1. crie um grupo (por exemplo, usuários da web)
  2. adicione as contas individuais a esse grupo
  3. remover as contas dos usuários (que efetivamente eliminam muitas das permissões padrão)
  4. conceda ao grupo Usuários da Web permissões de leitura para a pasta do site (e seletivamente quaisquer permissões de modificação necessárias - por exemplo, diretórios de upload)
  5. adicione o grupo às entradas "Negar ..." relevantes na Diretiva de segurança local / Atribuição de direitos do usuário

Opcionalmente, talvez você queira adicionar recursivas negar ACEs de controle total para esse grupo aos discos, seções do Registro e quaisquer outros recursos controlados por DACL - o SetACL deve conseguir fazer a maioria deles (consulte link ).

Se você realmente deve usar uma lista personalizada de usuários, então (como @BrentPabst disse) Autenticação de formulários é a única maneira real (consulte link ), mas você precisará criar a página de login do ASP.NET.

Eu não tentei a autenticação do Gerenciador do IIS, mas, pelo que eu vejo, ela se aplica somente a sites FTP, não a sites da Web.

J.

    
por 13.08.2012 / 19:56