Spring 시큐리티 설정 중 꼬여서 에러남

최고고·2025년 1월 13일
0

1. 에러: 예전에 미니 프로젝트 (연습용)으로 만들었던 이고브 플젝 톰캣서버 기동이 안됨

내용은 이러함

No bean named 'springSecurityFilterChain' is defined

  • 원인 : 스프링시큐리티 혼공한다고 web.xml과 security-context.xml 파일을 수정했기 때문임

  • 해결 : 기존에 context-*.xml 이런식으로 되어있었기 때문에 파일명도 context-security.xml로 바꿔줌

    web.xml 에

        <filter>
          <filter-name>springSecurityFilterChain</filter-name>
          <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
                <filter-mapping>
          <filter-name>springSecurityFilterChain</filter-name>
          <url-pattern>/*</url-pattern>
        </filter-mapping>
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>classpath*:egovframework/spring/context-*.xml</param-value>
    	</context-param>
    	<servlet>
    		<servlet-name>action</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<init-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>/WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml
    			/WEB-INF/spring/security-context.xml</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>

(Spring Security Filter 부분 발췌함)
>  ```
// 전 
<context-param>
	<param-name> contextConfigLocation</param-name>
	<param-value> classpath*:egovframework/spring/*-context.xml </param-value> 
  </context-param>
  // 후
<context-param>
	<param-name> contextConfigLocation</param-name>
	<param-value> classpath*:egovframework/spring/context-*.xml </param-value> 
  </context-param>

*-context.xml 이부분 context-*.xml로 수정

바꾼거 ⬇️⬇️


2. 에러 : 빈을 을 못찾았다는 에러가 뜸

No bean named 'leaveaTrace' available

찾아보니깐
No bean named available 원인은 크게 네가지로 분류됨

    1. 리소스명, 서비스명 못찾음 (어노테이션)
    1. 메이븐 플젝 생성 시 WEB-INF/classes Deployment Assembly의 path를 살펴본다.
    1. context-common.xml 파일 확인
      (컨트롤러, 서비스, dao(repository) 규칙확인)
    1. 빌드 에러 - 플젝클린, 메이븐클린 진행

해결 : 나는 4 도했다가 , 톰캣까지 삭제했다가 다시 설정해줌


3. 에러: 이번에는 빌드도 잘 되고 서버도 올라가고 콘솔에 에러도 안찍히는데, 웹페이지에 404가 뜬다...

  • 원인 : Context Root도 '/'로 되어있었고 Deployment Assembly의 path도 잘되어있었는데....

  • 해결 :
    1.워크스페이스 경로/.settings 로 가서 org.eclipse.wst.common.component 컴포넌트파일을 편집기로 연다.
    2.아래 표시한부분이 프로젝트명과다르게 설정되어있다면 대소문자 구별해 똑같이 수정한다.


결과물 :

(아무것도 안나오는게맞음)

0개의 댓글