Witajcie, próbujemy wprowadzić jakąś funkcjonalność do naszej aplikacji internetowej, Korzystamy z Spring Framework v4.1.1 i Spring Security v3 .1.7 dla aplikacji internetowej. Używamy niestandardowego dostawcy uwierzytelniania do naszego procesu uwierzytelniania, wszystko działa dobrze, , ale kiedy próbujemy ukryć pewne treści dla określonej roli na stronie przy użyciu tagu JSP z Spring Security, to nie działa.Wiosenne zabezpieczenia Tagi JSP <sec: autoryzuj dostęp = "hasRole ('')"> nie działa
Oto nasze bezpieczeństwo-conf.xml
<http pattern="/resources/**" security="none" />
<http use-expressions="true">
<form-login login-page="/login" authentication-failure-url="/loginerroneo"
default-target-url="/seleccionar-empresa" always-use-default-target="true"/>
<logout logout-success-url="/login" logout-url="/salir"/>
<session-management invalid-session-url="/login" />
</http>
<authentication-manager>
<authentication-provider user-service-ref="userDetailsService">
</authentication-provider>
</authentication-manager>
<global-method-security pre-post-annotations="enabled"/>
<beans:bean id="userDetailsService" class="com.grupo.seguridad.acceso.service.impl.UserDetailsServiceAdapater"/>
Kiedy używamy tego znacznika <sec:authentication property="principal.authorities"/>
w naszą stronę dostaliśmy [Vendedor, ADMINISTRADOR] wich jest poprawna.
ale kiedy staraliśmy się ukryć jakąś zawartość strony przy użyciu tagu:
<sec:authorize access="hasRole('ADMINISTRADOR')">
<button class="btn btn-small btnGuardar" href="#dlgGuardar" data-toggle="modal">
<i class="icon-hdd"></i> <strong>Una Opcion</strong>
</button>
</sec:authorize>
To nie działa.
Nie wiemy, co robimy źle. Dzięki za pomoc Pozdrawiam,
Może być przydatny http://stackoverflow.com/a/26416548/3587592 – 0x5a4d
Wygląda na to, że zdecydowanie powinno działać. Używam Spring Security 3.2.5 w naszym bieżącym projekcie i mam tagi bezpieczeństwa działające zgodnie z opisem. To nie jest kwestia białej spacji w tej grze (czy przed nazwą roli ADMINISTRADOR)? –
Domyślnie role powinny mieć nazwę "ROLE_ *". W przeszłości znalazłem ten ciąg na stałe w kodzie źródłowym Spring. – fcracker79