public UserSession get() { UserSession session = DELEGATE.get(); if (session != null) { return session; } throw new UnauthorizedException("User is not authenticated"); }
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; if (!request.getMethod().equals(POST.name())) { response.setStatus(HTTP_BAD_REQUEST); return; } try { UserDto userDto = authenticate(request); jwtHttpHandler.generateToken(userDto, request, response); threadLocalUserSession.set(userSessionFactory.create(userDto)); } catch (AuthenticationException e) { authenticationEvent.loginFailure(request, e); response.setStatus(HTTP_UNAUTHORIZED); } catch (UnauthorizedException e) { response.setStatus(e.httpCode()); } }
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; if (!request.getMethod().equals(POST.name())) { response.setStatus(HTTP_BAD_REQUEST); return; } String login = request.getParameter("login"); String password = request.getParameter("password"); try { UserDto userDto = authenticate(request, login, password); jwtHttpHandler.generateToken(userDto, request, response); threadLocalUserSession.set(userSessionFactory.create(userDto)); } catch (AuthenticationException e) { authenticationEvent.loginFailure(request, e); response.setStatus(HTTP_UNAUTHORIZED); } catch (UnauthorizedException e) { response.setStatus(e.httpCode()); } }
@Override public final UserSession checkLoggedIn() { if (!isLoggedIn()) { throw new UnauthorizedException(AUTHENTICATION_IS_REQUIRED_MESSAGE); } return this; }
@Test public void return_authorized_code_when_unauthorized_exception_is_thrown() throws Exception { doThrow(new UnauthorizedException("error !")).when(credentialsAuthentication).authenticate(new Credentials(LOGIN, PASSWORD), request, FORM); executeRequest(LOGIN, PASSWORD); verify(response).setStatus(401); assertThat(threadLocalUserSession.hasSession()).isFalse(); verifyZeroInteractions(authenticationEvent); }
public UserSession get() { UserSession session = DELEGATE.get(); if (session != null) { return session; } throw new UnauthorizedException("User is not authenticated"); }
@Override public final UserSession checkLoggedIn() { if (!isLoggedIn()) { throw new UnauthorizedException(AUTHENTICATION_IS_REQUIRED_MESSAGE); } return this; }