首页 > 代码库 > 自定义Mvc5 Owin 验证

自定义Mvc5 Owin 验证

 public class AuthIn : IUserAuthenticate    {        public static ApplicationUserManager UserManager        {            get { return HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>(); }        }        private IAuthenticationManager AuthenticationManager        {            get { return HttpContext.Current.GetOwinContext().Authentication; }        }        public void CurUserLoginOut()        {            AuthenticationManager.SignOut();        }        public bool GetUserIsAuthenticated()        {            return HttpContext.Current.User.Identity.IsAuthenticated;        }        public void SignUserLogin(string strUserName, Dictionary<string, string> extDatas)        {            ApplicationUser user = UserManager.FindByName(strUserName);            if (user == null)            {                user = new ApplicationUser { UserName = strUserName, Email = extDatas["Email"] };                IdentityResult result = Task.Factory.StartNew(s =>                {                    return ((ApplicationUserManager)s).CreateAsync(user);                }, UserManager).Unwrap().GetAwaiter().GetResult();                if (!result.Succeeded)                {                    HttpContext.Current.Response.Write("Error on Create User");                    return;                }            }            ClaimsIdentity indentiy = Task.Factory.StartNew(s =>            {                return user.GenerateUserIdentityAsync(((ApplicationUserManager)s));            }, UserManager).Unwrap().GetAwaiter().GetResult();            AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = false }, indentiy);        }    }