개발_기초 정보

[spring security] 환경 설정하기

메타듀 2023. 2. 15. 13:11
728x90
반응형

build.gradle 스프링 시큐리티 관련 추가

    https://mvnrepository.com/artifact/org.springframework.security/spring-security-core
    implementation 'org.springframework.security:spring-security-core:5.6.2'
    implementation 'org.springframework.security:spring-security-config:5.6.2' //컨비그
    implementation 'org.springframework.security:spring-security-taglibs:5.6.2' //태그 라이브러리
    implementation 'org.springframework.security:spring-security-web:5.6.2' //태그 라이브러리

web.xml 에 추가

 

root-context.xml 에 있는 WEB-INF 폴더 밑에
security-context.xml 설정 파일 추가 후
web.xml 안에 설정 수정

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/root-context.xml
            /WEB-INF/security-context.xml   <--
        </param-value>
    </context-param>

 

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>

 

이렇게 환경 설정만 해주면 톰캣을 실행할 때 오류가 남.
스프링 시큐리티는 조금만 설정 오류가 있어도 전체가 다 안켜진다..

어떤 문제인 지 확인 하기 위해 로그를 찍어보자

 

<logger name="org.springframework.web" level="INFO" additivity="false">
     <appender-ref ref="console" />
</logger>

<logger name="org.springframework.security" level="TRACE" additivity="false">
     <appender-ref ref="console" />
</logger>

log에서는
springSecurityFilterChain의 bean이 없다고 뜬다...

이제 security-conext.xml 설정 추가

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:security="http://www.springframework.org/schema/security"
       xsi:schemaLocation="http://www.springframework.org/schema/security
       http://www.springframework.org/schema/security/spring-security.xsd
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <security:http>

    </security:intercept-url>

        <security:form-login />

    </security:http>

    <security:authentication-manager>

    </security:authentication-manager>

</beans>

이렇게 하면
주소창에 .../login 했을 때
jsp가 추가 되지 않아도

가 뜨면 설정 성공!

반응형

'개발_기초 정보' 카테고리의 다른 글

[mybatis-spring] mapper 세팅하기  (0) 2023.02.21
서블릿(Servlet)  (0) 2023.02.17
[web] 정보 전달을 위한 GET 방식과 POST 방식  (0) 2023.02.17
[web] http vs https  (0) 2023.02.17
Eclipse 단축키  (0) 2023.02.14