public string IdentitySignin(UserDto user, string providerKey = null, bool isPersistent = false) { var claims = new List <Claim>(); // add user data as claims claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())); claims.Add(new Claim(ClaimTypes.Name, user.Name)); claims.Add(new Claim(ClaimTypes.Email, user.Email)); // add all user data serialized as a claim claims.Add(new Claim("userState", user.ToString())); var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); var authProperties = new AuthenticationProperties() { AllowRefresh = true, IsPersistent = isPersistent, ExpiresUtc = DateTime.UtcNow.AddDays(7) }; AuthenticationManager.SignIn(authProperties, identity); AuthenticationTicket ticket = new AuthenticationTicket(identity, authProperties); return(string.Format("ticket:", ticket.ToString())); }
public Task SignInAsync(ClaimsPrincipal user, AuthenticationProperties properties) { var ticket = new AuthenticationTicket(user, properties, Scheme.Name); Context.Response.Cookies.Append("login_cookie", ticket.ToString()); NowTicket = ticket; return(Task.CompletedTask); }
/// <summary>设置用户COOKIE /// </summary> /// <param name="LoginName">用户信息</param> /// <param name="isSueDate">时间</param> /// <param name="createPersistentCookie">是否持久化</param> public static void SetAuthCookie(string LoginName, DateTime isSueDate, bool createPersistentCookie = false) { var _authTicket = new AuthenticationTicket(LoginName, isSueDate, DateTime.Now.AddDays(15), createPersistentCookie); var _jsonTicket = DESEncrypt.Encrypt(_authTicket.ToString()); var _authCookie = new HttpCookie(AUTH_COOKIE_NAME, _jsonTicket); //_authCookie.Domain = WebDomain; if (createPersistentCookie) { _authCookie.Expires = DateTime.Now.AddDays(15); } HttpContext.Current.Response.Cookies.Add(_authCookie); }
/// <summary> /// 授权处理 /// </summary> /// <returns></returns> public Task <AuthenticateResult> AuthenticateAsync() { TokenInfo info = new TokenInfo() { ID = 1, Name = "lsh" }; var claimsIdentity = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, info.Name), }, "DEFAULT_SCHEME_NAME"); AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(claimsIdentity), _scheme.Name); return(Task.FromResult(AuthenticateResult.Fail(new Exception(ticket.ToString())))); }