Spring Security Access拒绝记录缺少角色的日志

时间:2012-03-14 15:20:08

标签: spring logging spring-security

是否有一个开箱即用的解决方案,拒绝登录spring security。 我想要的是基本上显示用户在获得访问被拒绝异常时缺少的角色。

如果没有,我必须沿着拥有自己的accesssDeniedHandler的路径,如何访问在该控制器上配置的角色,该角色抛出了访问被拒绝的异常。

谢谢!

1 个答案:

答案 0 :(得分:2)

不,没有开箱即用的“缺少角色”的概念。

访问被拒绝事件是通过Spring的标准事件机制发布的,您可以使用ApplicationListener订阅这些事件,但是没有假设访问决策完全基于Spring Security中的角色。为实现这一目标,您需要自定义AccessDecisionManager实现,以记录有关如何做出特定决策的信息。

AccessDeniedHandler在这种情况下并不真正相关。