Software  
 
Rede de conhecimento computador >> Software >> Microsoft Access >> Content
Como você logout autenticação do Windows no aplicativo ASP.NET MVC?
Não há um único comando "logout" no ASP.NET MVC que manipula magicamente o logout de autenticação do Windows. A autenticação do Windows é tratada no sistema operacional e no nível do IIS, não apenas dentro do seu aplicativo. Seu aplicativo precisa sinalizar para o navegador e o IIS para encerrar a sessão autenticada. Aqui estão as abordagens comuns:

1. Autenticação de formulários (mais simples, recomendada, se possível):

Se você tem * alguma * flexibilidade na sua configuração, a solução mais fácil e limpa é para alternar para a autenticação de formulários . A autenticação do Windows é inflexível e fortemente acoplada ao gerenciamento de usuários do servidor. A autenticação de formulários permite gerenciar contas de usuário em seu aplicativo e fornece um mecanismo de logout direto. Em seguida, uma simples `formSAuthentication.signout ()` na ação do seu controlador lidará com o logout.

`` `csharp
[Httppost]
Public ActionResult Logoff ()
{
FormSAuthentication.signout ();
Retornar RedirectToAction ("Index", "Home"); // redireciona para sua página inicial
}
`` `

2. Forçando uma nova solicitação (autenticação do Windows):

Se você * deve * usar a autenticação do Windows, precisará acionar uma nova solicitação que forçará uma re-autenticação (ou a falta dela). Não há comando "logout" direto; Você está essencialmente destruindo o cookie da sessão:

* redirecionar para um URL especial: Crie uma ação do controlador que não requer autenticação. Esta ação não faz nada, exceto o redirecionamento. A parte importante é que esse redirecionamento limpará o cookie de autenticação existente. O navegador enviará uma nova solicitação e o IIS reconhecerá que não há sessão válida.

`` `csharp
[Allowanonymous] // Isso é crucial! Permite o acesso sem autenticação
Public ActionResult Logoff ()
{
Retornar redirecionamento ("/"); // ou para qualquer URL que não exija autenticação
}
`` `

* Clear Cookies (JavaScript do lado do cliente - menos confiável): Essa abordagem é geralmente menos preferida porque se baseia em ações do lado do cliente e nem sempre pode funcionar de maneira confiável nos navegadores:

`` `JavaScript
document.cookie ="asp.net_sessionId =; expira =qui, 01 de janeiro de 1970 00:00:00 UTC; path =/;";
// Potencialmente, precisa de linhas adicionais para remover outros cookies de autenticação específicos para sua configuração.
window.Location.href ="/logoff"; // redirecionar para sua ação de logoff
`` `

Considerações importantes com autenticação do Windows:

* IIS Configurações: Verifique se as configurações do IIS do seu aplicativo estão definidas corretamente para a autenticação do Windows.
* Gerenciamento da sessão: A autenticação do Windows geralmente se baseia no gerenciamento de sessão do servidor (estado da sessão do IIS). O método de redirecionamento acima termina efetivamente a sessão, forçando uma nova solicitação sem um cookie de autenticação.
* biscoitos múltiplos: Dependendo da sua configuração, pode haver vários cookies relacionados à autenticação. Pode ser necessário limpá -los explicitamente (embora o método de redirecionamento geralmente seja suficiente).
* Kerberos: Se Kerberos estiver envolvido (comum em ambientes corporativos), o processo de logout pode ser mais complexo, pois os ingressos para Kerberos têm seu próprio ciclo de vida e gerenciamento.

Recomendação:

Considere seriamente mudar para a autenticação de formulários se tiver algum controle sobre seu projeto. É muito mais simples gerenciar sessões de usuário e logout. O manuseio de autenticação do Windows é inerentemente mais complexo e menos confiável. As abordagens acima funcionam, mas dependem dos métodos indiretos para encerrar a sessão do Windows. Sempre teste bem em diferentes navegadores.

Anterior :

Próximo :
  Os artigos relacionados
·Como criar menus pendentes de Excel 
·Como usar referências absolutas em Microsoft Excel 
·O que é o ponto de acesso? 
·No MS Access Alt Plus 4 está acostumado? 
·Como imprimir várias etiquetas Usando Excel 
·Como usar balas no Excel 2007 
·Como alterar uma senha no Excel 2004 para Mac 
·Como criar uma lista suspensa em uma planilha do Excel 
·O que é o Microsoft SharePoint? 
·Excel Avançado VBA Tutorial 
  Artigos em destaque
·Como encontrar Processador Temperatura 
·Como Photoshop Fur 
·Macromedia Flash Descrição 
·Como restaurar Database Backup Exec Exchange 
·Como preencher e cor uma imagem no Adobe Photoshop 
·Como gravar um CD de uma lista Música 
·Instalar Limewire 4.18 
·Como reduzir o tamanho do arquivo SWF 
·Como alterar o BPM em um aparelho de som 
·Como desativar uma proteção de tela no Media Player C…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados