public ActionResult WebLogin([Required(ErrorMessage = "Informe o Usuário")][StringLength(5)] string usuario, [Required(ErrorMessage = "Informe a senha")] string senha, string returnUrl = "/", string AppId = "", string appUrl = "", bool domain = true) { if (ModelState.IsValid) { string dominio = WebConfigurationManager.AppSettings["SAA-Domain"]; if (IsAuthenticatedByFormsAuthentication()) { return(Redirect(GetAppUrlRedirect(AppId, appUrl, returnUrl, User.Identity.Name, Request.GetUserToken()))); } if (domain) // 1. Autentica via domínio { Status retorno = usuarioNegocio.AutenticaUsuario(usuario, senha, Request, dominio); if (retorno.Succeeded) { string hash = retorno.Token; string userName = dominio + "\\" + usuario; HttpContext.Response.SetAuthCookie(userName, true, hash); LogOutUser(false, userName); return(Redirect(GetAppUrlRedirect(AppId, appUrl, returnUrl, userName, hash))); } } else // 2. Autenticação Local { Status retorno = usuarioNegocio.AutenticaUsuario(usuario, senha, Request); if (retorno.Succeeded) { string hash = retorno.Token; HttpContext.Response.SetAuthCookie(usuario, true, hash); LogOutUser(false, usuario); return(Redirect(GetAppUrlRedirect(AppId, appUrl, returnUrl, usuario, hash))); } } } ViewBag.Usuario = usuario; return(View()); }
protected void btnLogin_Click(object sender, EventArgs e) { if (ContextoApp.InfoEmpresa.MsgSistema == "1") { UsuarioNegocio nUsuario = new UsuarioNegocio(); E_USUARIO vUsuario = nUsuario.AutenticaUsuario(txtUsuario.Value, txtPassword.Value); if (vUsuario.FG_ACTIVO) { if (vUsuario.oFunciones != null) { //Se agrega la clave del usuario al FormsAuthenticationTicket como user data, este dato se usara en nómina en el global.asax FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(TICKET_VERSION, FormsAuthentication.FormsCookieName, DateTime.Now, DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes), false, vUsuario.CL_USUARIO, FormsAuthentication.FormsCookiePath);//FormsAuthentication.Timeout.TotalMinutes string cookie = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, cookie)); Session["UniqueUserId"] = Guid.NewGuid(); ContextoUsuario.oUsuario = vUsuario; var rol = ContextoUsuario.oUsuario.oRol.NB_ROL; //Determinar si solo tiene la funcion de PDE enviar a PDE if (vUsuario.oFunciones.Where(x => x.CL_FUNCION.Substring(0, 1) != "P" && x.CL_FUNCION != "Q" && x.CL_FUNCION != "E").Count() == 0) { Response.Redirect("/PDE/VentanaInicioPDE.aspx"); } else { Response.Redirect("Default.aspx"); } } else { UtilMensajes.MensajeResultadoDB(RadWindowManager1, "El rol del usuario no tiene permisos.", E_TIPO_RESPUESTA_DB.WARNING); } } else { UtilMensajes.MensajeResultadoDB(RadWindowManager1, "El usuario o la contraseña son incorrectos.", E_TIPO_RESPUESTA_DB.WARNING); } } else { btnLogin.Enabled = false; btnRecuperarPassword.Enabled = false; UtilMensajes.MensajeResultadoDB(RadWindowManager1, ContextoApp.InfoEmpresa.MsgSistema, E_TIPO_RESPUESTA_DB.WARNING); } }