Exemplo n.º 1
0
        public HttpResponseMessage CheckUserSession(string username)
        {
            var user = _authCacheService.Check(username);

            if (user != null)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, user));
            }

            return(Request.CreateResponse(HttpStatusCode.NotFound));
        }
Exemplo n.º 2
0
        public SignInResultMessage Handle(SignInMessage message)
        {
            var result = _validator.Validate(message);

            if (result.IsValid)
            {
                var cachedUser = _authCacheService.Check(message.Username);
                if (cachedUser != null)
                {
                    return(new SignInResultMessage
                    {
                        User = new UserDTO
                        {
                            Role = cachedUser.Role,
                            Username = cachedUser.Username,
                            Id = cachedUser.Id,
                        },
                        Success = result.IsValid,
                        ValidationResult = result,
                        IsSignInByCached = true
                    });
                }

                var user = _userRepo.Get(message.Username, message.Password);
                _authCacheService.SignIn(new UserDTO {
                    Id = user.Id, Role = user.Role, Username = user.Username
                });

                return(new SignInResultMessage
                {
                    User = new UserDTO
                    {
                        Role = user.Role,
                        Username = user.Username,
                        Id = user.Id,
                    },
                    Success = result.IsValid,
                    ValidationResult = result,
                    IsSignInByCached = false
                });
            }

            return(new SignInResultMessage
            {
                Success = result.IsValid,
                ValidationResult = result
            });
        }