spring exception handler to not handle certain types of exception -
ive set simple exception handler in spring 2.5 app. catches exception
s , shows stacktrace page.
this , good, spring security not kick non-logged in user login page, instead exception page shown spring security exception:
org.springframework.security.accessdeniedexception
the problem application doesnt have own exception subclass uses exceptions, must map exception
unmap accessdeniedexception
is possible in spring 2.5?
edit: spring security 2.0.1
my bean looks this
<bean class="org.springframework.web.servlet.handler.simplemappingexceptionresolver"> <property name="exceptionmappings"> <props> <prop key="java.lang.runtimeexception">common/error</prop> </props> </property> </bean>**
the way handle have custom exception resolver class handles exceptions not caught other handlers - implements handlerexceptionresolver, ordered.
we declare separate simplemappingexceptionresolver bean catches specific exceptions.
the ordering such our custom resolver runs after simplemappingexceptionresolver.
the effect specified exceptions (e.g. accessdeniedexception) handled simplemappingexceptionresolver , directed appropriate pages.
any other run time exceptions handled custom resolver, forwards generic error page.
<bean class="org.springframework.web.servlet.handler.simplemappingexceptionresolver"> <property name="exceptionmappings"> <props> <prop key="org.springframework.security.accessdeniedexception">accessdenied</prop> <prop key="org.springframework.orm.hibernate3.hibernateoptimisticlockingfailureexception">accessdenied</prop> </props> </property> <property name="order" value="0"/> </bean> <bean class="package.to.your.handler.defaultexceptionresolver"> <property name="order" value="1"/> </bean>
this arrangement allows catch many exceptions (i catch 2 here, accessdenied , hibernateoptimisticlockingfailureexception) using spring resolver , else caught custom resolver. in accepted solution above, have write more java code catch exceptions other accessdenied.
Comments
Post a Comment