spring-boot - 如何在 @PreAuthorize 错误时重定向到自定义页面?
问题描述
我想在@PreAuthorize
身份验证错误时重定向到自定义 html 页面?
我用过@PreAuthorize("hasRole("Admin"))
控制器。因此,如果用户没有管理员角色,他将被踢出,我看到身份验证错误。
但我想覆盖此身份验证失败错误并将用户重定向到我开发的标准错误页面。
有解决方案吗?
代码:
@PreAuthorize("hasRole("Admin")){
public List<Object> getBooksList(String id){
return bookList;
}
解决方案
首先要注意的是@PreAuthorize
注释链接到一个AuthenticationManager
可以用GlobalMethodSecurityConfiguration
.
您可以使用带@ControllerAdvice
注释的类捕获身份验证异常,但您必须注册一个新的AuthenticationEntryPoint
.
推荐阅读
- heroku - 需要帮助了解使用 PG 备份导入 Heroku Postgres 数据库
- python - 字幕中的多种大小字体
- java - 如何在 SQL 查询中查找条件并将其 1=1 替换为 Java
- python - Django为列表中的*每个*项目排除查询集__in
- reactjs - 为什么我不能在 React Application 中显示数组数据?
- java - 如何检查声纳规则集是否包括对 DAO 层查询的检查
- amqp - AMQP:按声明顺序处理不同的队列
- amazon-web-services - AWS 实例在美国区域不起作用
- c# - Asp.Net Core 中的 SignalR 配置
- python - 使用python编辑EXCEL表格中的数据