0

使用 Spring Security preauthentication,我的 Web 应用程序/login_disabled.html在点击InsufficientAuthenticationException.

applicationContext-security-preauth.xml 示例

        <beans:property name="exceptionMappings">
            <beans:props>
                <beans:prop key="org.springframework.security.
InsufficientAuthenticationException">
                    /login_disabled.html

根据这篇文章,似乎我应该能够重新引导用户再次登录。

我只需要将用户重定向到负责身份验证的网页吗?

4

1 回答 1

1

我不太清楚这里有什么问题。如果您设置了表单登录,则会自动重定向到登录页面,而无需任何进一步的配置。如果用户试图在未经身份验证的情况下访问安全页面,则ExceptionTranslationFilter调用AuthenticationEntryPoint来启动身份验证。

无论如何,使用ExceptionMappingAuthenticationFailureHandler映射InsufficientAuthenticationException到重定向 URL 将不起作用,因为:

  1. 它并不表示身份验证失败。它表示用户在尝试访问安全资源时仅通过匿名身份验证的情况。(与输入错误凭据或用户处于禁用状态等身份验证失败相反。)
  2. 它甚至永远不会被抛出。(仅在上述链接代码中实例化并作为参数传递。)
于 2013-05-07T19:30:55.493 回答