요구사항
사용자가 로그인했을때 실명인증여부를 판단하여 실명인증을 받지 않은 경우 실명인증을 받도록 한다.
문제점
로그인을 처리하는 acegi에서
<property name="authenticationFailureUrl" value="/common/login.jsp" />
과같이 실패했을 경우 하나의 URL만이 설정된다. 원하는 방향은 실명인증에 실패했을경우 실명인증에 실패했다는 것을 알거나 별도의 URL로 이동하여 처리되도록 하고 싶은 것이다.
방법
<bean id="authenticationProcessingFilter"
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
<property name="authenticationManager" ref="authenticationManager" />
<property name="authenticationFailureUrl" value="/common/login.jsp" />
<property name="defaultTargetUrl" value="/" />
<property name="filterProcessesUrl" value="/j_acegi_security_check" />
class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
<property name="authenticationManager" ref="authenticationManager" />
<property name="authenticationFailureUrl" value="/common/login.jsp" />
<property name="defaultTargetUrl" value="/" />
<property name="filterProcessesUrl" value="/j_acegi_security_check" />
<property name="exceptionMappings">
<props>
<prop key="kr.seohak.homepage.ui.common.RealNameCertificationException">/CUC/realNameCertification.jsp</prop>
</props>
</property>
</bean><props>
<prop key="kr.seohak.homepage.ui.common.RealNameCertificationException">/CUC/realNameCertification.jsp</prop>
</props>
</property>
위와같이 특정 Exception을 처리할수 있도록 "exceptionMappings"를 등록한다.