본문 바로가기

Java/Spring

spring 2로 바꾸면서 Spring security로 인한 로그인창 없애고 custom 로그인 창으로 대체하기

1.  Spring security 때문에 로그인 페이지가 뜬다. 이걸 끄고 custom 로그인 페이지를 사용해보자

 

SecurityConfig를 만들어준다.

 

그안에서 ignore.antMatcher("경로") 로 spring security를 무시해주자

 

 

참고할 만한곳 : https://gs.saro.me/dev?page=20&tn=480

 

 

2.  viewControllerRegistry를 해준다.

config 파일에 처음 들어오면 가게되는 페이지를 설정한다.

 

registry.addViewController("/").setViewName("forward:/login"); // 컨트롤러에서 받을 주소

registry.setOrder(Ordered.HIGHEST_PRECEDENCE);

super.addViewControllers(registry); // 사용 안하는듯하다.

 

>> 이후 컨트롤러에서 @RequestMapping /login을 해서 처리 후 view 위치를 return해준다.

 

 

3. DispatcherServlet 에서 못찾는다고 난리다 (<<열받았음)

 

컨트롤러에서 return 해준 view를 못찾는다. WEB-INF/view/login.jsp 로 있었고 WEB-INF/view는 yml에서 prefix로 .jsp는 suffix로 자동으로 붙게 처리가 돼있다. 찾아보니 아래 문제였다.

 

springboot 프로젝트에선 web.xml을 안쓰게 설정했는데 자꾸 web.xml이 생성됐다. 

yml 파일을 살펴보니 

 

server.jsp-servlet.init-parameters.development가 deprecated 됐다고 에러가 난다.

 

server.servlet.jsp.init-parameters.development=true 로 대체해주면 된다.

 

 

참고 : https://www.zshub.com/java/springboot/202003/00000080.html

 

4.

view 리턴시 jsp, html 같은거 설정을 해줘야되나봄

 

안하면 ResourceHttpRequestHandler :Path with "WEB-INF" or "META-INF" 이런 에러가 떨어짐

 

참고 할만한곳 : https://copycoding.tistory.com/279