示例#1
0
        public async Task <AuthenticateResponse> AuthenticateAdministrator(AuthenticateRequest request)
        {
            var errors = request.Validate();

            if (errors.Any())
            {
                throw new ValidationException(errors);
            }

            var user = _administratorRepository.Get(request.Username);

            if (user == null)
            {
                throw new Exception("Usuário não encontrado");
            }

            _authenticationService.AuthenticateAdministrator(request);
            await _signInService.SignInAdministratorAsync(user, true);

            return(new AuthenticateResponse {
                ReturnUrl = request.ReturnUrl ?? "/Admin/Home/Index"
            });
        }