Fórum Autenticação #9177
08/09/2009
Bom dia,
estou fazendo um sistema e estou com um problema na autenticação, estou fazendo a autenticação via FormsAuthentication e manipulei o global.asa no metodo "Application_AuthenticateRequest" para poder criar as rules do usuario que esta autenticando e depois em cada pagina eu verifico se o perfil do usuario pode acessar aquela pagina, ate ai tudo bem so que quando ele faz o logoff da pagina ele esta sendo direcionado para a pagina de login da forma que deveria, mas se ele clicar em voltar no browser ele esta voltando na pagina que ele estava quando ele saiu entao gostaria de saber se tem alguma forma que se ele clicar em voltar ele nao voltasse nesta ultima tela pois ele nao esta autenticado, esta certo que ele volta nesta ultima tela mas quando ele clica em alguma opçao do menu o sistema vai novamente para a tela de login pois ele nao esta autenticado mas eu queria que o sistema nao deixasse ele voltar. nao sei se voce entenderam o meu problema.
grato
Posts
Olá, como você está fazendo o Logoff?
Utilize o método - FormsAuthentication.SignOut()
Na hora que ele voltar, faça um debug utilizando o métod abaixo e confirme se fez o Logoff.
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
//Se passar ele ainda está logado.
}
Espero ter ajudado.
Fabo
Bom dia,
estou fazendo um
sistema e estou com um problema na autenticação, estou fazendo a
autenticação via FormsAuthentication e manipulei o global.asa no metodo
"Application_AuthenticateRequest" para poder criar as
rules do usuario que esta autenticando e depois em cada pagina eu
verifico se o perfil do usuario pode acessar aquela pagina, ate ai tudo
bem so que quando ele faz o logoff da pagina ele esta sendo direcionado
para a pagina de login da forma que deveria, mas se ele clicar em
voltar no browser ele esta voltando na pagina que ele estava quando ele
saiu entao gostaria de saber se tem alguma forma que se ele clicar em
voltar ele nao voltasse nesta ultima tela pois ele nao esta
autenticado, esta certo que ele volta nesta ultima tela mas quando ele
clica em alguma opçao do menu o sistema vai novamente para a tela de
login pois ele nao esta autenticado mas eu queria que o sistema nao
deixasse ele voltar. nao sei se voce entenderam o meu problema.
grato
09/09/2009
Cicero Paulino
Bom dia Fabio, olha a opçao logoff esta na master page principal, quando ele clica nesta opçao eu estou fazendo o seguinte:
HttpContext.Current.Session.Abandon();
FormsAuthentication.SignOut();
Response.Redirect("~/index.aspx");
no entanto quando clico no back do Internet Explorer ele esta voltando nao opçao que ele estava quando ele clicou em logoff no entanto se ele clicar em qualquer opção ele é direcionado para a pagina de login, mas no page load da pagina eu coloquei um break point com a opçao:
Boolean teste = HttpContext.Current.User.Identity.IsAuthenticated;
para poder ver se quando ele estava voltando se ele ainda esta autenticado no entanto quando ele clica em voltar ele nao esta passando pelo page load. esta como se ele estivesse voltando em cache do navegador. tem alguma ideia?
Sua resposta está abaixo, independente da aplicação, é uma coisa que você não controla, o importante é que se ele tentar fazer alguma operação na página, o usuário não consiga, ele deve se logar novamente.
Você não deva ficar tentando controlar o ir e voltar do Browser.
esta como se ele estivesse voltando em cache do navegador. tem alguma ideia?
Fabio