스프링 시큐리티를 적용하고 나면 이미지와 css 파일이 적용된 폴더에 권한 적용이 되지 않았기 떄문에 웹 페이지가 깨져서 보이게 됩니다. image, css, js는 시큐리티 설정을 해제해 보도록 하겠습니다.
<security:http pattern="/**/*.js" security="none" />
<security:http pattern="/**/*.css" security="none" />
<security:http pattern="/images/**" security="none" />
위와 같이 추가하고 서버를 restart한 후 실행하면 css, image모두 잘 적용됩니다.
[security-config_ver2.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
==============================================================
spring security를 적용하고 인증절차를 spring security가 response하는
로그인페이지가 아닌 사용자 정의 로그인페이지로 처리
===============================================================
-->
<!-- role별로 접근할 수 있는 리소스를 정의하는 작업 -->
<security:http pattern="/**/*.js" security="none"/>
<security:http pattern="/**/*.css" security="none"/>
<security:http pattern="/images/**" security="none"/>
<security:http auto-config="true">
<!-- <security:intercept-url pattern="/images/**" access="ROLE_ANONYMOUS"/>-->
<security:intercept-url pattern="/admin/**" access="ROLE_ADMIN"/>
<security:intercept-url pattern="/emp/login.do"
access="ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN"/>
<security:intercept-url pattern="/index.do"
access="ROLE_ANONYMOUS,ROLE_USER,ROLE_ADMIN"/>
<security:intercept-url pattern="/**" access="ROLE_USER,ROLE_ADMIN"/>
<security:form-login
username-parameter="id"
password-parameter="pass"
login-page="/emp/login"
default-target-url="/index.do"
authentication-failure-url="/emp/login.do?fail=true"
/>
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:user-service>
<security:user name="user" password="user"
authorities="ROLE_USER" />
<security:user name="admin" password="admin"
authorities="ROLE_ADMIN" />
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>
</beans>
'보안 > Spring Security' 카테고리의 다른 글
스프링의 EL표기식으로 권한 변경하기 (0) | 2019.09.10 |
---|---|
로그인적용하기 - 권한확인 (0) | 2019.09.09 |
kimsaemERP의 loginPage로 인증하기 (0) | 2019.09.04 |
spring security따라해보기 (0) | 2019.09.04 |
spring security를 위한 환경설정 (0) | 2019.09.03 |