SimpleMappingExceptionResolver捕获NotAuthorizedException

时间:2017-04-18 14:31:39

标签: spring spring-mvc spring-security

我有一个像这样定义的基本异常处理程序:

<bean id="exceptionResolver" 
      class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="defaultErrorView" value="errors.exception-handling" />
</bean>

我的控制器方法有这样的安全性:

@PreAuthorize("isAuthenticated()")
@RequestMapping(value = "/Home", method = RequestMethod.GET)
public String home(HttpServletRequest request, HttpSession sess) {
}

现在我已将NotAuthorized处理程序配置为在您点击/ Home时将您重定向到登录页面。但是,使用exceptionResolver,我只是得到我的页面说有错误。如果我注释掉exceptionResolver它就可以了。

如何让它忽略NotAuthroized和其他此类安全例外?

1 个答案:

答案 0 :(得分:0)

您可以像这样添加

<property name="exceptionMappings">
    <props>
        <prop key="org.springframework.security.AccessDeniedException">loginPageUrl</prop>
    </props>
</property>

更新:

您也可以指定excludedExceptions以忽略NotAuthroized异常并让它单独处理。