Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Deise Vicky

Problema com FormsAuthentication

Recommended Posts

Pessoal;

 

Estou com problemas para implementar a parte de login de um sistema no qual estou trabalhando.

Até agora consegui o seguinte resultado:

 

     USUARIO oUser;
     UsuarioBO boUser = new UsuarioBO();

     try
           {
               oUser = new USUARIO();
               /* Busca o usuário pelo login */
               oUser = boUser.getUserByUsername(txtUsername.Text.ToString().Trim());

               /* Carrega as TELAS que o usuário tem acesso */
               if (Session["GLOBAL_SCREENS"] == null)
               {
                   TelaBO _boScreen = new TelaBO();
                   Session["GLOBAL_SCREENS"] = _boScreen.getScreens();
               }

               if (oUser != null)
               {
                   /* Verifica se o login e senha conferem */
                   if (boUser.logonUser(txtUsername.Text.ToString().Trim(), txtPassword.Text.ToString().Trim()))
                   {
                       /* Authorized - OK */

                       /* Inicia a autenticação */
                       FormsAuthentication.Initialize();

                       /* Definimos quanto tempo o usuário irá permanecer logado após deixar o site sem efetuar o logout */
                       FormsAuthenticationTicket fat = new FormsAuthenticationTicket(
                                                           1,
                                                           oUser.USUA_DS_LOGIN,
                                                           DateTime.Now,
                                                           DateTime.Now.AddMinutes(30),
                                                           false,
                                                           oUser.PERFIL.PERF_NM_NOME,
                                                           FormsAuthentication.FormsCookiePath);

                       HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)));

                   /* Nesta linha dá erro, mas não gera nenhuma exceção, simplesmente não redireciona para a página requisitada pelo usuário */
                   /*****************************************************************************/
                   HttpContext.Current.Response.Redirect(FormsAuthentication.GetRedirectUrl(oUser.USUA_DS_LOGIN, false));
                   }
                   else
                   {
                       /* Authorized - NOK */
                       ScriptManager.RegisterStartupScript(this, this.GetType(), "userPassERROR", Consts.JavaScript.Alert("Usuário/Senha incorretos!", false), true);
                   }
               }
               else
               {
                   txtUsername.Text = String.Empty;
                   txtPassword.Text = String.Empty;
                   txtUsername.Focus();
                   ScriptManager.RegisterStartupScript(this, this.GetType(), "userNotExist", Consts.JavaScript.Alert("Nome do usuário informado está incorreto.", false), true);
               }
           }
           catch (Exception ex)
           {
               throw ex;
           }

 

No código está indicado onde dá erro...só que é estranho, porque debugando o código acaba entrando no "catch" mas não gera nenhuma exceção. Rodando a aplicação no servidor simplesmente é exibida a mensagem "Usuário/Senha inválidos!".

 

 

Alguém já teve um problema parecido com esse? Sabe uma forma de resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.