【发布时间】:2011-02-23 16:13:42
【问题描述】:
如何以编程方式访问拦截 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 安全角色映射用于限制对某些页面的访问。我想提取相同的角色映射信息(pattern 和 accept 属性),以便仅在 html 菜单中显示每个角色有权查看的页面.
我查看了HttpConfigurationBuilder,但它受到包保护,似乎没有提供太多信息。我也试过:
FilterSecurityInterceptor interceptor = appContext.getBean(FilterSecurityInterceptor.class);
if (interceptor != null) {
for (ConfigAttribute attr : interceptor.getSecurityMetadataSource().getAllConfigAttributes()) {
// Extract the attributes ...
attr.getAttribute();
}
}
但我只设法访问了角色,而不是 url 模式。
【问题讨论】:
标签: java security spring spring-security spring-3