Exemple #1
0
        public void Logout()
        {
            var context = Request.Properties["MS_HttpContext"] as HttpContextWrapper;
            var sign    = HttpContextBaseExtensions.GetOwinContext(context.Request).Get <ApplicationSignInManager <AppUser> >();

            sign.AuthenticationManager.SignOut();
        }
Exemple #2
0
    //
    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
                });
            }
Exemple #5
0
 public override void ExecuteResult(ControllerContext context)
 {
     HttpContextBaseExtensions.GetOwinContext(context.HttpContext).Authentication.Challenge(new AuthenticationProperties {
         RedirectUrl = RedirectUrl
     }, LoginProvider);
 }