Spring 安全日志或为每个未经授权(访问被拒绝)的请求添加自定义消息

标签 spring spring-boot spring-mvc spring-security

我应用了 Spring Security,如下所示:

httpSecurity.authorizeRequests().antMatchers("/ctxPath1/**", "/ctxPath2/**", "/ctxPath3/**").access("hasAuthority('ADMIN')");

这里一切正常。即具有除 ADMIN 之外的任何其他角色的用户收到访问被拒绝消息(页面/ View )。这里完全没有问题。

情况: 我想为每个被拒绝的 /ctxPathX 发送自定义友好消息以查看/页面。类似于 - 您尝试访问您无权访问的“功能 X”。单击此处向管理员发送此功能权利的请求。

这可能吗?如果是,我应该从哪里开始寻找以及我们有哪些选择来实现这一目标?

摘要:我可以为每个被拒绝的路径单独配置/编码并发送自定义消息以查看吗?

最佳答案

你可以看看这个article 。您可以添加自定义处理程序(实现 AccessDeniedHandler)来显示错误页面。

.exceptionHandling().accessDeniedHandler(accessDeniedHandler());

关于Spring 安全日志或为每个未经授权(访问被拒绝)的请求添加自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63697393/

相关文章:

java - 在远程调试中暂停 Spring Boot Java 应用程序时,ECS 代理停止并重新启动 Docker 容器

spring - 将 Spring Boot 从 1.3.7 升级到 1.4.0,导致 AuthenticatorBase.getJaspicProvider 出现 NullPointerException

java - 在服务器运行时将表内容从 Oracle DB 加载到 Spring Bean

spring-mvc - Spring : How can I log the PageNotFound exception in a database?

java - Spring - thymeleaf : Exception processing template

java - 如何根据 URL 路径和嵌套级别配置 Jackson 和 Spring 以不同方式呈现对象

Spring Session table-name 属性不改变表名

java - 接受/返回 XML/JSON 请求和响应 - Spring MVC

java - 尝试设置 spring servlet 时获取 "WARN org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI ..."

java - springframework.core.io.Resource 总是抛出 java.io.FileNotFoundException