Как я могу программно получить доступ к содержимому объявлений 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.