Ejemplo n.º 1
0
 public static bool LoginByPWD(String email, string pwd, out string tokenStr, out User user)
 {
     user = UserService.GetUser(email);
     if (user != null)
     {
         string temp = SHAEncrypt_Helper.Hash256Encrypt(pwd + user.Salt);
         if (temp.Equals(user.Pwd))
         {
             long  tokenid = SnowFlake_Net.GenerateSnowFlakeID();
             var   token   = TokenSerivce.GenerateToken(tokenid);
             Token myToken = new Token
             {
                 TokenId     = SnowFlake_Net.GenerateSnowFlakeID(),
                 UserId      = user.UserId,
                 Email       = user.Email,
                 TokenStr    = token,
                 Type        = 0,
                 CreatedTime = DateTime.Now
             };
             TokenSerivce.AddToken(myToken);
             tokenStr = myToken.TokenStr;
             return(true);
         }
         else
         {
             tokenStr = "";
             return(false);
         }
     }
     else
     {
         tokenStr = "";
         return(false);
     }
 }
Ejemplo n.º 2
0
        public async Task <string> LoginByPWD(String email, string pwd)
        {
            User   user;
            string tokenStr;

            if (email.Contains("@"))
            {
                user = UserService.GetUserByEmail(email);
            }
            else
            {
                user = UserService.GetUserByUserName(email);
            }
            if (user == null)
            {
                tokenStr = null;
                user     = null;
                return(null);
            }
            var passwordStore = passwordStoreFactory.Instance(user);

            if (user != null)
            {
                var result = passwordStore.VerifyPassword(user.Pwd.Base64ToByteArray(), pwd.Base64ToByteArray(), user.Salt.Base64ToByteArray(), user.PasswordHashIterations);
                if (result)
                {
                    long?tokenid = idGenerator.NextId();
                    //生成token的数据
                    var   tokenContext = TokenSerivce.GenerateTokenContext(tokenid);
                    Token myToken      = new Token
                    {
                        TokenId     = idGenerator.NextId(),
                        UserId      = user.UserId,
                        Email       = user.Email,
                        TokenStr    = tokenContext,
                        TokenType   = 0,
                        CreatedTime = DateTime.Now
                    };
                    TokenSerivce.SaveToken(myToken);
                    tokenStr = myToken.TokenStr;
                    return(tokenStr);
                }
                else
                {
                    tokenStr = "";
                    return(null);
                }
            }
            else
            {
                tokenStr = "";
                return(null);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 通过Token判断用户是否登录
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="tokenStr"></param>
        /// <returns></returns>
        public bool IsLogin(long?userid, string tokenStr)
        {
            Token token = TokenSerivce.GetTokenByTokenStr(tokenStr);

            if (token != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 4
0
        public bool LoginByToken(string token)
        {
            var user = TokenSerivce.GetUserByToken(token);

            return(false);
        }