我将Spring Security用于与控制器匹配的URL的基于角色的访问控制。

我想创建一个系统,在其中检查某些URL的用户权限。我已经创建了一个自定义访问决策投票器,并在自定义访问决策管理器中使用了它。但是到目前为止,我还无法获得要检查的实际URL。

访问决策投票者是否有可能获取正在投票的实际URL?我可以使用表决接口方法中指定的对象o参数吗?

谢谢

最佳答案

我想我在this answer中回答了您的问题。基本上实现AccessDecisionVoter<FilterInvocation>,重写supports(Class<?> clazz)以仅对FilterInvocation对象返回true,并且在表决方法的第二个参数中,您将具有FilterInvocation对象和getRequestUrl()方法,这正是您要寻找的。

10-04 19:12