Autenticação

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  
Cicero Paulino

Cicero Paulino

Curtidas 0

Respostas

Fabio Mans

Fabio Mans

08/09/2009

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
GOSTEI 0
Cicero Paulino

Cicero Paulino

08/09/2009

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?  
GOSTEI 0
Fabio Mans

Fabio Mans

08/09/2009

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

GOSTEI 0
POSTAR