如何以编程方式访问拦截 url 声明的内容(来自http://www.springframework.org/schema/security模式)?例如,
<http auto-config='true'>
<intercept-url pattern="/static/**" filters="none" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/**" access="ROLE_USER" />
...
</http>
Spring 安全角色映射用于限制对某些页面的访问。我想提取相同的角色映射信息(模式和接受属性),以便仅在 html 菜单中显示每个角色有权查看的那些页面。
我看过HttpConfigurationBuilder
,但它是包保护的,似乎没有提供太多信息。我也试过:
FilterSecurityInterceptor interceptor = appContext.getBean(FilterSecurityInterceptor.class);
if (interceptor != null) {
for (ConfigAttribute attr : interceptor.getSecurityMetadataSource().getAllConfigAttributes()) {
// Extract the attributes ...
attr.getAttribute();
}
}
但我只设法访问角色,而不是 url 模式。