Example #1
0
        /// <summary>
        /// 检查token
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public static bool Check(string token)
        {
            if (string.IsNullOrWhiteSpace(token))
            {
                return(false);
            }
            if (token.Length < 64)
            {
                return(false);
            }
            // 解析
            AccountM u = ParseToken(token);

            if (u == null)
            {
                return(false);
            }

            // check sign
            string reSign = SecurityHelp.StringSHA256(u.JsonStr + aesKey16);

            if (reSign != u.Sign)
            {
                return(false);
            }

            // 2小时过期
            if (DateTimeOffset.Now.UtcTicks > u.Expire)
            {
                return(false);
            }
            //
            return(true);
        }
Example #2
0
        public HttpResponseMessage Register(ReqData req)
        {
            ResData res = new ResData();

            try
            {
                var    Content  = JsonConvert.DeserializeObject <dynamic>(req.Content.ToString());
                string Fullname = Content["Fullname"].ToString();
                string Username = Content["Username"].ToString();
                string Password = Content["Password"].ToString();

                int RegisRes = AccountM.Register(Fullname, Username, Password);

                if (RegisRes == 1)
                {
                    res.Code       = 1;
                    res.Message    = "Đăng ký thành công";
                    res.Detail     = req.Content;
                    res.StatusCode = HttpStatusCode.OK;
                }
                else if (RegisRes == 2)
                {
                    res.Code       = 2;
                    res.Message    = "Tên đăng nhập đã tồn tại";
                    res.Detail     = req.Content;
                    res.StatusCode = HttpStatusCode.OK;
                }
                else if (RegisRes == 3)
                {
                    res.Code       = 3;
                    res.Message    = "Họ và tên không được để trống";
                    res.Detail     = req.Content;
                    res.StatusCode = HttpStatusCode.OK;
                }
                else if (RegisRes == 4)
                {
                    res.Code       = 4;
                    res.Message    = "Tên đăng nhập không được để trống";
                    res.Detail     = req.Content;
                    res.StatusCode = HttpStatusCode.OK;
                }
                else if (RegisRes == 5)
                {
                    res.Code       = 5;
                    res.Message    = "Mật khẩu không được để trống";
                    res.Detail     = req.Content;
                    res.StatusCode = HttpStatusCode.OK;
                }
            }
            catch (Exception ex)
            {
                res.Code       = -99;
                res.Message    = ex.Message;
                res.StatusCode = HttpStatusCode.BadRequest;
            }

            return(Request.CreateResponse(res.StatusCode, res));
        }
Example #3
0
        public int CreateAccount(string Fullname, string Username, string Password)
        {
            if (string.IsNullOrEmpty(Fullname))
            {
                return(3);
            }
            else if (string.IsNullOrEmpty(Username))
            {
                return(4);
            }
            else if (string.IsNullOrEmpty(Password))
            {
                return(5);
            }

            Password = MD5Hash(Password);

            return(AccountM.Register(Fullname, Username, Password));
        }
Example #4
0
        /// <summary>
        /// client发来的token,解析成对象.失败返回null
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public static AccountM ParseToken(string token)
        {
            string sign    = token.Substring(token.Length - 64);
            string userAes = token.Substring(0, token.Length - 64);

            // userjson
            string userjson = SecurityHelp.AESDecrypt(userAes, aesKey16);

            if (userjson == null)
            {
                return(null);
            }
            //
            AccountM user = SerializeHelp.JsonToObject <AccountM>(userjson);

            user.Sign    = sign;
            user.JsonStr = userjson;
            return(user);
        }
Example #5
0
        public int CheckLogin(string Username, string Password)
        {
            int Result = 0;

            //Check db
            Password = MD5Hash(Password);
            AccountM A = new AccountM();

            A = AccountM.Login(Username, Password);

            if (!string.IsNullOrEmpty(A.Username))
            {
                Session["AccountID"] = A.AccountID;
                Session["Fullname"]  = A.Fullname;
                Session["Username"]  = A.Username;
                Session["Type"]      = A.Type;
                Result = 1;
            }

            return(Result);
        }
Example #6
0
        public HttpResponseMessage Login(ReqData req)
        {
            ResData res = new ResData();

            try
            {
                var    Content  = JsonConvert.DeserializeObject <dynamic>(req.Content.ToString());
                string Username = Content.Username.ToString();
                string Password = Content.Password.ToString();

                AccountM AM = AccountM.Login(Username, Password);

                if (AM.AccountID > 0)
                {
                    res.Code       = 1;
                    res.Message    = "Đăng nhập thành công";
                    res.Detail     = AM;
                    res.StatusCode = HttpStatusCode.OK;
                }
                else
                {
                    res.Code       = -1;
                    res.Message    = "Tên đăng nhập hoặc mật khẩu không đúng";
                    res.Detail     = AM;
                    res.StatusCode = HttpStatusCode.NonAuthoritativeInformation;
                }
            }
            catch (Exception ex)
            {
                res.Code       = -99;
                res.Message    = ex.Message;
                res.StatusCode = HttpStatusCode.BadRequest;
            }

            return(Request.CreateResponse(res.StatusCode, res));
        }