Пример #1
0
        public async Task <ActionResult <BaseRespone> > GetInfoLogin(LoginRequest lg)
        {
            NhanVien nv = await _context.NhanViens.FirstOrDefaultAsync(x => x.password == Helper.GenHash(lg.password) && x.email == lg.email);

            LoginRespone loginRespone = new LoginRespone();

            if (nv != null)
            {
                //generate token
                var clainmData        = new[] { new Claim(ClaimTypes.Name, lg.email) };
                var key               = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Helper.AppKey));
                var singingCredential = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                var token = new JwtSecurityToken(
                    issuer: Helper.issuer,
                    audience: Helper.issuer,
                    expires: DateTime.Now.AddMinutes(60),
                    claims: clainmData,
                    signingCredentials: singingCredential
                    );
                var tokenString = new JwtSecurityTokenHandler().WriteToken(token);
                loginRespone.id        = nv.Id;
                loginRespone.ten       = nv.tennhanvien;
                loginRespone.ho        = nv.honhanvien;
                loginRespone.token     = tokenString;
                loginRespone.trangthai = nv.trangthai;
                return(new BaseRespone(loginRespone));
            }
            return(new BaseRespone {
                ErrorCode = 1,
                Message = "Sai tên đăng nhập hoặc mật khẩu"
            });
        }
Пример #2
0
        public ActionResult Token(LoginRequest request)
        {
            if (!String.IsNullOrEmpty(request.UserName) && !String.IsNullOrEmpty(request.Password))
            {
                var user = _context.GiaoViens.Where(x => x.Ma == request.UserName && x.MatKhau == request.Password).SingleOrDefault();
                if (user != null)
                {
                    var claimData          = new[] { new Claim(ClaimTypes.Name, request.UserName) };
                    var key                = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(request.UserName + " " + request.Password));
                    var singingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);

                    var token = new JwtSecurityToken(
                        issuer: "mysite.com",
                        audience: "mysite.com",
                        expires: DateTime.Now.AddMinutes(20),
                        claims: claimData,
                        signingCredentials: singingCredentials
                        );
                    var tokenstring = new JwtSecurityTokenHandler().WriteToken(token);
                    var userResult  = new LoginRespone
                    {
                        Id       = user.ID,
                        Id_Cq    = user.Id_Cq,
                        FullName = user.Ho + " " + user.Ten,
                        token    = "Bearer " + tokenstring
                    };
                    return(Ok(userResult));
                }
            }
            return(Unauthorized());
        }
Пример #3
0
        public ActionResult Token(LoginRequest request)
        {
            if (!String.IsNullOrEmpty(request.Email) && !String.IsNullOrEmpty(request.Password))
            {
                var user = _context.KhachHangs.Where(x => x.EMAIL == request.Email && x.MATKHAU == request.Password).SingleOrDefault();
                if (user != null)
                {
                    var claimData          = new[] { new Claim(ClaimTypes.Name, request.Email) };
                    var key                = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("1234567890123456"));
                    var singingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);

                    var token = new JwtSecurityToken(
                        issuer: "mysite.com",
                        audience: "mysite.com",
                        expires: DateTime.Now.AddMinutes(30),
                        claims: claimData,
                        signingCredentials: singingCredentials
                        );
                    var tokenstring = new JwtSecurityTokenHandler().WriteToken(token);
                    var userResult  = new LoginRespone
                    {
                        IDKH     = user.IDKH,
                        DIACHIKH = user.DIACHIKH,
                        EMAIL    = user.EMAIL,
                        SDT      = user.SDT,
                        TENKH    = user.TENKH,
                        Token    = "Bearer " + tokenstring
                    };
                    return(Ok(userResult));
                }
            }
            return(Unauthorized());
        }
Пример #4
0
        public async Task <DataRespone <AuthenticationUser> > login(User user)
        {
            if (user == null)
            {
                throw new MyBadRequestException("Please Provide username and password.");
            }
            LoginRespone log = await _userService.Login(user);

            if (!log.Success)
            {
                throw new MyUnauthorizedException(log.Error);
            }
            return(new DataRespone <AuthenticationUser>
            {
                Status = true,
                Data = new AuthenticationUser {
                    Token = log.Token, User = log.User
                },
                Errors = null
            });
        }
        public async Task <ActionResult <BaseRespone> > GetInfoLogin(LoginRequest lgin)
        {
            NhanVien nv = await _context.NhanViens.FirstOrDefaultAsync(x => x.matkhau.Equals(lgin.matkhau) && x.email.Equals(lgin.email));

            LoginRespone loginRespone = new LoginRespone();

            if (nv != null)
            {
                loginRespone.id        = nv.Id;
                loginRespone.ho        = nv.honhanvien;
                loginRespone.ten       = nv.tennhanvien;
                loginRespone.trangthai = nv.trangthai;
                loginRespone.token     = "";
                return(new BaseRespone(loginRespone));
            }
            return(new BaseRespone
            {
                ErrorCode = 1,
                Message = "Sai tên đăng nhập hoặc mật khẩu"
            });
        }
Пример #6
0
        public ActionResult Login(LoginRequest request)
        {
            try
            {
                WxPayAPI.Log.Info("PosApiController", string.Format("请求登录:账号{0},密码:{1}", request.username, request.password));
                LoginRespone result = new LoginRespone();

                if (string.IsNullOrEmpty(request.username))
                {
                    return(Json(new ApiResponse()
                    {
                        Code = "-1", Msg = "请输入账号"
                    }));
                }
                var model = posEndPointService.GetByName(request.username);
                if (model == null)
                {
                    return(Json(new ApiResponse()
                    {
                        Code = "-1", Msg = "登录账号不存在"
                    }));
                }
                if (model.DataKey != request.password)
                {
                    return(Json(new ApiResponse()
                    {
                        Code = "-1", Msg = "密码错误"
                    }));
                }
                if (model.State != States.Normal)
                {
                    return(Json(new ApiResponse()
                    {
                        Code = "-1", Msg = "账号已被停用"
                    }));
                }
                string token = request.username + "_" + DateTime.Now.ToShortTimeString();
                token = SaltAndHash(token, Guid.NewGuid().ToString("N").Substring(0, 8));
                var posToken = postTokenService.GetByPosName(request.username);
                if (posToken == null)
                {
                    posToken            = new PostToken();
                    posToken.createTime = DateTime.Now;
                    posToken.posName    = request.username;
                    posToken.token      = token;
                    postTokenService.Insert(posToken);
                }
                else
                {
                    posToken.token      = token;
                    posToken.createTime = DateTime.Now;
                    postTokenService.Update(posToken);
                }
                result.Code  = "1";
                result.Msg   = "SUCCESS";
                result.token = token;
                return(Json(result));
            }
            catch (Exception ex)
            {
                WxPayAPI.Log.Info("PosApiController", string.Format("请求登录:账号{0},密码:{1},异常:{2}", request.username, request.password, ex.Message));
                return(Json(new ApiResponse()
                {
                    Code = "-1", Msg = "系统异常,请联系管理员"
                }));
            }
        }