Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
Carregando comentários...