Esempio n. 1
0
 public IActionResult SignIn([FromForm] SignInUserInfo userInfo)
 {
     if (ModelState.IsValid)
     {
         UserInfo usr = _userApp.SignIn(userInfo);
         if (usr != null)
         {
             HttpContext.Session.Set("Neko_Asp_User", usr.ToBytes());
             if (userInfo.RememberMe)
             {
                 HttpContext.Response.Cookies.AddCookie("Neko_Asp_User", userInfo, DateTime.Now.AddDays(10));
             }
             else
             {
                 HttpContext.Response.Cookies.DeleteCookie("Neko_Asp_User");
             }
             if (GlobalConfig.CacheCookies.ContainsKey("Neko_Asp_User"))
             {
                 GlobalConfig.CacheCookies.Remove("Neko_Asp_User");
             }
             GlobalConfig.CacheCookies.Add("Neko_Asp_User", usr);
             return(Redirect("/Exam/Home"));
         }
         ModelState.AddModelError("AccOrPwError", "用户名或密码错误!");
     }
     return(View(userInfo));
 }
Esempio n. 2
0
        public async Task <bool> ValidateUserAsync(SignInUserInfo user)
        {
            // context
            DynamoDBContext context = new DynamoDBContext(_dynamoDBClient);

            // conditions
            var hash = GenerateSaltedHash(Encoding.UTF8.GetBytes(user.Password), Encoding.UTF8.GetBytes(user.Username));

            List <ScanCondition> conditions = new List <ScanCondition>
            {
                new ScanCondition("Username", ScanOperator.Equal, user.Username),
                new ScanCondition("Password", ScanOperator.Equal, Convert.ToBase64String(hash))
            };

            // scan
            if (user.ContainerUser)
            {
                List <ContainerUser> foundContainerUsers = await context.ScanAsync <ContainerUser>(conditions).GetRemainingAsync();

                // dispose context
                context.Dispose();

                return(foundContainerUsers.Any());
            }
            else
            {
                List <DashboardUser> foundDashboardUsers = await context.ScanAsync <DashboardUser>(conditions).GetRemainingAsync();

                // dispose context
                context.Dispose();

                return(foundDashboardUsers.Any());
            }
        }
Esempio n. 3
0
        public IActionResult SignIn()
        {
            SignInUserInfo userInfo = HttpContext.Request.Cookies.GetCookie <SignInUserInfo>("Neko_Asp_User");

            if (userInfo != null)
            {
                return(SignIn(userInfo));
            }
            return(View());
        }
Esempio n. 4
0
        public UserInfo SignIn(SignInUserInfo userInfo)
        {
            DbModel.UserInfo usr = _repository.SignIn(userInfo.CreditId, userInfo.PasswordHash.EncryptMD5());
            if (usr == null)
            {
                return(null);
            }
            UserInfo user = new UserInfo();

            user.Id       = usr.Id;
            user.WorkId   = usr.WorkId;
            user.UserName = usr.UserName;
            user.Password = usr.Password;
            user.RoleId   = usr.RoleId;
            user.Role     = _roleApp.Load(user.RoleId);
            user.Remark   = usr.Remark;
            return(user);
        }
Esempio n. 5
0
 public async Task <ActionResult <bool> > SignIn([FromBody] SignInUserInfo user)
 {
     return(await _dynamoDBService.ValidateUserAsync(user));
 }