public void Logout() { var context = Request.Properties["MS_HttpContext"] as HttpContextWrapper; var sign = HttpContextBaseExtensions.GetOwinContext(context.Request).Get <ApplicationSignInManager <AppUser> >(); sign.AuthenticationManager.SignOut(); }
// public static IOwinContext GetOwinContext(this HttpRequestMessage request) { var context = request.Properties["MS_HttpContext"] as HttpContextWrapper; if (context != null) { return(HttpContextBaseExtensions.GetOwinContext(context.Request)); } return(null); }
public async Task <string> Login(LoginModel model) { string errorMessge = ""; if (!ModelState.IsValid) { errorMessge = ("信息填写错误"); } AppUser user = UserService.GetUserByNameOrEmail(model.UserName); if (user == null) { errorMessge = "用户名不存在"; } else if (!user.IsActive) { errorMessge = "用户已经被禁用"; } if (String.IsNullOrEmpty(errorMessge)) { var context = Request.Properties["MS_HttpContext"] as HttpContextWrapper; var sign = HttpContextBaseExtensions.GetOwinContext(context.Request).Get <ApplicationSignInManager <AppUser> >(); var result = await sign.PasswordSignInAsync(user.UserName, model.Password, true, false); switch (result) { case SignInStatus.Success: await sign.SignInAsync(user, false, false); UserService.UpdateUserActivity(user.Id, context.Request.UserHostAddress); errorMessge = ""; break; case SignInStatus.Failure: default: errorMessge = "用户名或密码错误"; break; } } if (!String.IsNullOrEmpty(errorMessge)) { throw new Exception(errorMessge); } else { return(""); } }
public virtual void ExecuteResult(ControllerContext context) { AuthenticationProperties authenticationProperties1 = new AuthenticationProperties(); authenticationProperties1.set_RedirectUri(this.RedirectUri); AuthenticationProperties authenticationProperties2 = authenticationProperties1; if (this.UserId != null) { authenticationProperties2.get_Dictionary()["XsrfId"] = this.UserId; } HttpContextBaseExtensions.GetOwinContext(context.get_HttpContext()).get_Authentication().Challenge(authenticationProperties2, new string[1] { this.LoginProvider }); }
public override void ExecuteResult(ControllerContext context) { HttpContextBaseExtensions.GetOwinContext(context.HttpContext).Authentication.Challenge(new AuthenticationProperties { RedirectUrl = RedirectUrl }, LoginProvider); }