コード例 #1
0
        private async Task LobUserReset()
        {
            for (int i = 1; i <= 50; i++)
            {
                var     fooIdx        = (i - 1) % 7;
                var     fooDepartment = lobDatabaseContext.Departments.FirstOrDefault(x => x.Name == $"Department{fooIdx}");
                LobUser fooUser       = new LobUser()
                {
                    Account      = $"user{i}",
                    Password     = $"password{i}",
                    Image        = $"",
                    Name         = $"Account{i}",
                    Department   = fooDepartment,
                    TokenVersion = 0,
                    Level        = 0,
                };
                lobDatabaseContext.LobUsers.Add(fooUser);
            }
            var     fooAdminDepartment = lobDatabaseContext.Departments.FirstOrDefault(x => x.Name == $"Department1");
            LobUser fooAdminUser       = new LobUser()
            {
                Account      = $"admin",
                Password     = $"admin",
                Image        = $"",
                Name         = $"Administrator",
                Department   = fooAdminDepartment,
                TokenVersion = 0,
                Level        = 5,
            };

            lobDatabaseContext.LobUsers.Add(fooAdminUser);
            await lobDatabaseContext.SaveChangesAsync();
        }
コード例 #2
0
ファイル: LoginController.cs プロジェクト: vulcanlee/Workshop
        public string GenerateRefreshToken(LobUser fooUser)
        {
            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sid, fooUser.Id.ToString()),
                new Claim(ClaimTypes.Name, fooUser.Account),
                new Claim(ClaimTypes.Role, "User"),
                new Claim(ClaimTypes.Role, $"RefreshToken"),
                new Claim(ClaimTypes.Version, $"{fooUser.TokenVersion}"),
            };

            var token = new JwtSecurityToken
                        (
                issuer: configuration["Tokens:ValidIssuer"],
                audience: configuration["Tokens:ValidAudience"],
                claims: claims,
                expires: DateTime.Now.AddDays(Convert.ToDouble(configuration["Tokens:JwtRefreshExpireDays"])),
                //notBefore: DateTime.Now.AddMinutes(-5),
                signingCredentials: new SigningCredentials(new SymmetricSecurityKey
                                                               (Encoding.UTF8.GetBytes(configuration["Tokens:IssuerSigningKey"])),
                                                           SecurityAlgorithms.HmacSha512)
                        );
            string tokenString = new JwtSecurityTokenHandler().WriteToken(token);

            return(tokenString);
        }
コード例 #3
0
        public static LoginResponseDTO ToLoginResponseDTO(this LobUser lobUser, string token, string refreshToken,
                                                          string tokenExpireMinutes, string refreshTokenExpireDays)
        {
            LoginResponseDTO LoginResponseDTO = new LoginResponseDTO()
            {
                Account    = lobUser.Account,
                Id         = lobUser.Id,
                Name       = lobUser.Name,
                Image      = lobUser.Image,
                Department = new DepartmentDTO()
                {
                    Id = lobUser.Department.Id,
                },
                Token = token,
                TokenExpireMinutes     = Convert.ToInt32(tokenExpireMinutes),
                RefreshToken           = refreshToken,
                RefreshTokenExpireDays = Convert.ToInt32(refreshTokenExpireDays),
                Level = lobUser.Level,
            };

            return(LoginResponseDTO);
        }
コード例 #4
0
        public static LeaveForm ToLeaveForm(this LeaveFormRequestDTO leaveFormRequestDTO, LobUser lobUser, LeaveFormType leaveFormType)
        {
            LeaveForm fooLeaveForm = new LeaveForm()
            {
                BeginTime     = leaveFormRequestDTO.BeginTime,
                EndTime       = leaveFormRequestDTO.EndTime,
                Description   = leaveFormRequestDTO.Description,
                TotalHours    = leaveFormRequestDTO.TotalHours,
                User          = lobUser,
                LeaveFormType = leaveFormType,
            };

            return(fooLeaveForm);
        }