Pergunta

Eu tenho uma situação híbrida em minhas mãos. Estou escrevendo um aplicativo da Web ASP.NET da intranet. Não quero usar a autenticação completa do Windows, porque não tenho grupos adequados configurados no Active Directory para poder autenticar os usuários simplesmente com base em em que grupo eles estão. Até agora, eu criei um banco de dados de associação e estava autenticando manualmente os usuários com base no login do NT. O aplicativo está ficando mais complexo e estou pensando em usar os provedores de membros e funções para autenticar usuários. Aqui está o meu problema: quero poder autenticar os usuários com base no NT, mas não quero usar a autenticação do Windows. Quero escrever meu próprio provedor para conectar os provedores de membros e funções e usar a autenticação de formulários, mas torná -lo transparente. Com base em uma tabela de usuários, quero poder autenticar o usuário ou redirecioná -los com base apenas no NT. Isso é possível, ou estou preso escrevendo minha pequena estrutura para conseguir isso? Eu gostaria de aproveitar a estrutura do provedor, se possível.

Foi útil?

Solução

Defina seu web.config para usar a autenticação de formulários.
Verifique se a autenticação integrada está ativada no IIS (talvez seja necessário desativar o anônimo). Isso permitirá que você obtenha o nome do NT do usuário.

Você pode obter o nome do NT do usuário com:

  Request.ServerVariables["LOGON_USER"]  

Você pode registrar o usuário, sem necessidade de senha, com:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top