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);
        }
Esempio n. 3
0
        /// <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()))));
        }