/// <summary>
        /// 保存用户信息
        /// </summary>
        /// <param name="user">用户</param>
        protected override void SaveUserInfo(UserT user)
        {
            var claims   = IdentityAuthUtil.SaveUserInfoGetClaims(user, authUserData);
            var identity = new ClaimsIdentity(claims, GetAuthenticationScheme());

            SignIn(new ClaimsPrincipal(identity));
        }
Esempio n. 2
0
        /// <summary>
        /// 读取
        /// </summary>
        /// <returns>数据</returns>
        public ReturnInfo <UserT> Reader()
        {
            ReturnInfo <UserT> returnInfo       = new ReturnInfo <UserT>();
            ReturnInfo <bool>  isAuthReturnInfo = IsAuthed();

            if (isAuthReturnInfo.Success() && isAuthReturnInfo.Data)
            {
                var claims = httpContext.HttpContext.User.Claims;
                if (claims == null)
                {
                    return(returnInfo);
                }

                returnInfo.Data = IdentityAuthUtil.GetUserDataFromClaims <IdT, UserT>(claims, authUserData);
            }

            return(returnInfo);
        }
Esempio n. 3
0
        /// <summary>
        /// 读取
        /// </summary>
        /// <param name="context">上下文</param>
        /// <returns>数据</returns>
        public ReturnInfo <UserT> Reader(HttpContext context)
        {
            var returnInfo       = new ReturnInfo <UserT>();
            var isAuthReturnInfo = IsAuthed(context);

            if (isAuthReturnInfo.Success() && isAuthReturnInfo.Data)
            {
                var claims = context.User.Claims;
                if (claims == null)
                {
                    return(returnInfo);
                }

                if (authUserData != null)
                {
                    returnInfo.Data = IdentityAuthUtil.GetUserDataFromClaims <IdT, UserT>(claims, authUserData);
                }
            }

            return(returnInfo);
        }
Esempio n. 4
0
        /// <summary>
        /// 授权并生成令牌
        /// </summary>
        /// <param name="user">用户</param>
        /// <param name="password">密码</param>
        /// <param name="comData">通用数据</param>
        /// <returns>返回信息</returns>
        public ReturnInfo <string> AccreditToToken(string user, string password, CommonUseData comData = null)
        {
            if (userVali == null)
            {
                throw new NullReferenceException("用户验证不能为null");
            }

            var re = new ReturnInfo <string>();
            ReturnInfo <UserT> returnInfo = userVali.Vali(user, password, comData);

            re.FromBasic(returnInfo);
            if (re.Failure())
            {
                return(re);
            }

            var claims = IdentityAuthUtil.SaveUserInfoGetClaims(returnInfo.Data, authUserData);

            re.Data = BuilderToken(claims);

            return(re);
        }