示例#1
0
        public async Task <Dictionary <string, object> > Login(CustomerLoginDTO customerDTO)
        {
            Dictionary <string, object> res = new Dictionary <string, object>();

            if (string.IsNullOrEmpty(customerDTO.Username) || string.IsNullOrEmpty(customerDTO.Password))
            {
                res["status"]  = "failed";
                res["message"] = "用户名或密码不能为空!";
            }
            else
            {
                Customer customer = await Service.Login(customerDTO.Username, customerDTO.Password);

                if (customer == null)
                {
                    res["status"]  = "failed";
                    res["message"] = "用户名或密码错误!";
                }
                else
                {
                    res["status"] = "success";
                    res["token"]  = JWTTools.Encode(customer.Username, DateTime.Now.AddDays(1));
                }
            }
            return(res);
        }
示例#2
0
 public string checkLoginStatus([FromBody] LoginStatus loginStatus)
 {
     if (JWTTools.ValideLogin(loginStatus.loginToken))
     {
         return("yes");
     }
     else
     {
         return("no");
     }
 }
示例#3
0
        public async Task <Dictionary <string, object> > Login(Administrator administrator)
        {
            Dictionary <string, object> res = new Dictionary <string, object>();
            Administrator tmp = await Service.Login(administrator);

            if (tmp == null)
            {
                res["status"]  = "failed";
                res["message"] = "用户名或密码错误!";
            }
            else
            {
                res["status"] = "success";
                res["token"]  = JWTTools.Encode(tmp.Username, DateTime.Now.AddDays(1), true);
            }
            return(res);
        }
示例#4
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            string token = context.HttpContext.Request.Headers["token"];
            Dictionary <string, object> res = new Dictionary <string, object>();
            bool   success  = false;
            string username = "";

            if (token == null)
            {
                res["status"]  = "failed";
                res["message"] = "请将令牌添加到请求头中!";
            }
            else
            {
                Tuple <string, DateTime> info = JWTTools.Decode(token, IsAdmin);
                if (info?.Item1 == null)
                {
                    res["status"]  = "failed";
                    res["message"] = "令牌被篡改, 请重新登录!";
                }
                else if (info.Item2 < DateTime.Now)
                {
                    res["status"]  = "failed";
                    res["message"] = "令牌失效, 请重新登录!";
                }
                else
                {
                    username = info.Item1;
                    success  = true;
                }
            }
            if (!success)
            {
                context.Result = new ContentResult()
                {
                    Content     = JsonConvert.SerializeObject(res),
                    ContentType = "application/json",
                    StatusCode  = 200
                };
            }
            else
            {
                context.HttpContext.Request.Headers["username"] = username;
                base.OnActionExecuting(context);
            }
        }
示例#5
0
        public ResultModel Login([FromBody] LoginViewModel model)
        {
            ResultModel res  = new ResultModel();
            User        user = UserService.SelectUser(model.ID, model.identity);

            if (user == null)
            {
                res.status = "500";
                res.insert("msg", "用户不存在");
            }
            else if (Encryption.MD5Encryption(model.password).Equals(user.password))
            {
                res.status = "200";
                res.insert("loginToken", JWTTools.Encode(model, JWTTools.secret));
                res.insert("user", user);
            }
            else
            {
                res.status = "500";
                res.insert("msg", "密码错误");
            }
            return(res);
        }