2023/10월
23-10-18 그래들에 스웨거 설정중인데 왜 안 되지
parkrams
2023. 10. 18. 11:40
728x90
// static 디렉토리 하위 파일은 인증을 무시함
// 여기에 스웨거 도 인증 무시 추가
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/css/**", "/font/**", "/img/**", "/js/**","/editor/**", "/api/**");
web.ignoring().antMatchers("/v2/api-docs", "/configuration/ui",
"/swagger-resources/**", "/configuration/security",
"/swagger-ui/index.html", "/webjars/**");
}
- 여기에 설정도 해봤는데 안 되고
// 가장 넓은 부분이 가장 위 위에서 아래로 범위 지정 httpSecurity.authorizeRequests()
- 인증되지 않는 사용자를 해당 경로로 이동하는 시큐리티를 설정 했지만 인증 무시하고 스웨거 띄우게 해놨는데 안 됐다.. 이유를 찾아봅세
// 인증되지 않은 사용자의 요청에 에러 발생시키고, 나머지는 로그인 페이지로 리다이렉트 시킴
public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
if("XMLHttpRequest".equals(request.getHeader("x-requested-with")))
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized");
else
response.sendRedirect("/member/login");
}
}
- 하는 도중 복습
인터페이스 = 공통규격?
상수 : 인터페이스에서 값을 정해줄테니 함부로 바꾸지 말고 제공해주는 값만 참조해라 (절대적)
추상메소드 : 가이드만 줄테니 추상메소드를 오버라이팅해서 재구현해라. (강제적)
디폴트메소드 : 인터페이스에서 기본적으로 제공해주지만, 맘에 안들면 각자 구현해서 써라. (선택적)
정적메소드 : 인터페이스에서 제공해주는 것으로 무조건 사용 (절대적)
오버로딩(Overloading) : 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술
같은 이름의 함수(메서드)를 여러개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있게 된다.
오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용
상위 클래스가 가지고 있는 멤버변수가 하위 클래스로 상속되는 것처럼 상위 클래스가 가지고 있는 메서드도 하위 클래스로 상속되어 하위 클래스에 사용할 수 있다. 또한, 하위 클래스에서 메서드를 재정의해서도 사용할 수 있다.
쉽게 말해 메서드의 이름이 서로 같고, 매개변수가 같고, 반환형이 같을 경우에 상속받은 메서드를 덮어쓴다고 생각. ' 부모클래스의 메서드는 무시하고, 자식 클래스의 메서드 기능을 사용하겠다'와 같다.
728x90