首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sec:authorize="isAuthenticated()“和sec:authorize="isAnonymous()”在错误页面上不起作用

首先,"sec:authorize="isAuthenticated()""和"sec:authorize="isAnonymous()""是Spring Security框架中的表达式,用于控制页面访问权限。"sec:authorize="isAuthenticated()"表示只有已经认证的用户才能访问该页面,而"sec:authorize="isAnonymous()""表示只有匿名用户才能访问该页面。

然而,在错误页面上,这两个表达式可能不起作用的原因有以下几种可能性:

  1. 错误页面没有经过Spring Security的过滤器链:Spring Security的过滤器链会拦截请求并进行权限验证,如果错误页面没有经过这个过滤器链,那么权限表达式将不会生效。确保错误页面也经过了Spring Security的过滤器链。
  2. 错误页面没有正确配置权限:在Spring Security的配置文件中,需要将错误页面的访问权限配置为匿名访问或者已认证访问,以使权限表达式生效。检查配置文件中是否正确配置了错误页面的权限。
  3. 错误页面没有使用正确的模板引擎:如果错误页面使用的是不支持Spring Security表达式的模板引擎,如Thymeleaf或JSP,那么权限表达式将不会被解析和执行。确保错误页面使用的是支持Spring Security表达式的模板引擎,并且正确配置了模板引擎的相关设置。

总结起来,要解决"sec:authorize="isAuthenticated()""和"sec:authorize="isAnonymous()""在错误页面上不起作用的问题,需要确保错误页面经过Spring Security的过滤器链,正确配置了权限,并且使用支持Spring Security表达式的模板引擎。具体的解决方法需要根据具体的项目配置和错误页面的实现方式来确定。

关于腾讯云相关产品和产品介绍链接地址,由于要求不提及具体的云计算品牌商,无法给出具体的腾讯云产品推荐。但是腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Security 自定义授权服务器实践

uri的时候,请勿依旧使用127.0.0.1,由于是本地测试,授权服务器的session客户端的session会互相覆盖,导致莫名其妙的问题。...客户端的session 授权服务器的session 体验 另外为了能够更好的调式,可以两个应用增加@EnableWebSecurity(debug = true) log日志...登录后,将跳转至授权页面,由于我们没有定制,使用的是默认页面,可以看到该页面的地址为 http://localhost:9000/oauth2/authorize?...: cross-site sec-fetch-mode: navigate sec-fetch-user: ?...另外授权服务器如果发生异常,是不会打印堆栈的,而是把错误信息放入到response中,是打算要在页面上显示,然而demo的默认错误页并不会显示错误详情,只有错误编号400,如图。

1.2K20
领券