嗨,我們正試圖實現一些功能到我們的web應用程序 我們正在使用Spring Framework v4.1.1和Spring Security v3 .1.7的Web應用程序。 我們正在爲我們的身份驗證過程使用自定義身份驗證提供程序,一切正常, 但是當我們嘗試使用Spring Security的JSP標記隱藏頁面中特定角色的某些內容時,它不起作用。春季安全JSP標籤<sec:authorize access =「hasRole('')」>不工作
這是我們安全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"/>
當我們在我們的頁面,我們得到 使用此標記<sec:authentication property="principal.authorities"/>
[VENDEDOR,ADMINISTRADOR]至極是正確的。
但是,當我們試圖掩蓋使用標籤頁面的一些內容:
<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>
它不工作。
我們不知道我們做錯了什麼。 感謝您的幫助 最好的問候,
可能很有用http://stackoverflow.com/a/26416548/3587592 – 0x5a4d 2014-11-05 01:27:38
這看起來應該可以工作。我在我們當前的項目中使用spring security 3.2.5,並且安全標籤如您所描述的那樣工作。這是不是一個空白問題在這裏(角色名稱ADMINISTRADOR之前的空間)? – 2014-12-15 18:48:15
默認情況下,角色應該被命名爲'ROLE_ *'。在過去,我發現在Spring的源代碼中硬編碼的字符串。 – fcracker79 2015-01-15 11:22:59