/// <summary> /// Redireciona o contexto HTTP corrente para a url informada no AuthenticationResult caso haja uma /// </summary> /// <param name="result"></param> public void RedirecionarUrl(AuthenticationResult result) { if (!string.IsNullOrEmpty(result.ReturnUrl)) { HttpContext.Current.Response.Redirect(result.ReturnUrl); } }
/// <summary> /// Executa o processo de autenticação baseando-se na regra de autenticação informada como parâmetro /// </summary> /// <param name="context">Contexto HTTP</param> /// <param name="username">Login do usuário</param> /// <param name="rememberMe">indica se deve ser armazenado um cookie permanente na máquina do cliente</param> /// <param name="userData">dados customizados do usuário</param> /// <param name="authenticationHandler">Método que contem a regra de autenticação</param> /// <returns></returns> public AuthenticationResult Logon(HttpContext context, string username, bool rememberMe, string userData, Func<bool> authenticationHandler) { AuthenticationResult result = new AuthenticationResult(); FormsAuthenticationTicket tkt; string cookiestr; HttpCookie ck; if (authenticationHandler()) { tkt = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(30), rememberMe, userData); cookiestr = FormsAuthentication.Encrypt(tkt); ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr); if (rememberMe) { ck.Expires = tkt.Expiration; ck.Path = FormsAuthentication.FormsCookiePath; } context.Response.Cookies.Add(ck); string strRedirect; strRedirect = context.Request["ReturnUrl"]; if (strRedirect != null) { result.ReturnUrl = strRedirect; } result.Success = true; } else { result.Success = false; } return result; }
/// <summary> /// Redireciona o contexto HTTP corrente para a url informada no AuthenticationResult caso haja uma /// </summary> /// <param name="result"></param> public void RedirecionarUrl(AuthenticationResult result) { //Itau.SC.Mar2.Web.Security.Mar2Pages.RedirectProcessRequest(); }