Configuration

web.xml

Spring Security 모듈을 실행하기 위해 web.xml 을 변경한다.

contextConfigLocation 에 classpath:com/u2ware/springfield/context-security.xml 를 추가하고,
Spring Security 에 필요한 관련 Listener 와 Filter 를 등록한다. Spring DispatcherServlet 의 이름은 "appServlet" 이다.
	<!-- 
	##########################################
	#	RootContext
	##########################################
	-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:com/u2ware/springfield/sample/root-context.xml
			classpath:com/u2ware/springfield/context-security.xml
		</param-value>
	</context-param>
	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>

	<!-- 
	##########################################
	#	Spring Security  Listener & Filter
	##########################################
	-->
	<listener>
		<listener-class>
			org.springframework.security.web.session.HttpSessionEventPublisher
		</listener-class>
	</listener>

	<filter>
		<filter-name>springSecurityFilterChain</filter-name>
		<filter-class>
			org.springframework.web.filter.DelegatingFilterProxy
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>springSecurityFilterChain</filter-name>
		<servlet-name>appServlet</servlet-name>
	</filter-mapping>

		

properties

Spring Security 를 위해 @Springfield 는 다음과 같은 설정을 사용한다.

  • security.login.page : 로그인 폼 페이지 경로. @Springfield 에서는 Security 관련 에러 발생시 리다이렉트되는 결로로도 사용한다.
  • security.login.page.username : 로그인 폼의 ID 변수명
  • security.login.page.password : 로그인 폼의 password 변수명
  • security.login.page.rememberme : 로그인 폼의 Remember Me 변수명
  • security.login : 로그인 폼 페이지의 form action 경로
  • security.logout : 로그아웃 경로
application-context.properties

@Springfield 의 기본 설정 값은 다음과 같다.

security.login.page=/security/user/loginForm
security.login.page.username=j_username
security.login.page.password=j_password
security.login.page.rememberme=_spring_security_remember_me
security.login=/j_spring_security_check
security.logout=/j_spring_security_logout