2014-10-16 15 views
6

Merhaba çocuklar, web uygulamasına bazı işlevler uygulamaya çalışıyoruz Spring Framework v4.1.1 ve Spring Security v3 kullanıyoruz Bir Web Uygulaması için .1.7. Kimlik doğrulama işlemimiz için özel bir kimlik doğrulama sağlayıcısı kullanıyoruz, her şey yolunda çalışıyor, ancak SpringPlus'un JSP etiketini kullanan bir sayfada belirli bir içerik için bazı içeriği gizlemeye çalıştığımızda işe yaramıyor. biz var bizim Page bu etiketi <sec:authentication property="principal.authorities"/> kullandığınızdaSpring Security JSP Etiketleri <sec: authorize access = "hasRole ('')"> çalışmıyor

İşte wich doğrudur [VENDEDOR ADMINISTRADOR,] bizim güvenlik 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"/> 

olduğunu.

ama biz etiketini kullanarak bir sayfanın bazı içerikleri gizlemek çalıştığımızda:

<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> 

O çalışmıyor.

Biz yanlış yaptıklarını bilmiyorum. Yardımlarınız için Teşekkür Saygılarımızla,

<security:authorize ifAnyGranted="ADMINISTRADOR"> 
    <button class="btn btn-small btnGuardar" href="#dlgGuardar" data-toggle="modal"> 
      <i class="icon-hdd"></i> <strong>Una Opcion</strong> 
     </button> 
    </security:authorize> 
+0

Yararlı olabilir http://stackoverflow.com/a/26416548/3587592 – 0x5a4d

+0

Kesinlikle işe yaramalı gibi görünüyor. Şu anki projemizde yay güvenlik 3.2.5 kullanıyorum ve güvenlik etiketlerini anlattığınız gibi çalışıyor. Oyundaki bir beyaz boşluk meselesi değil, burası (ADMINISTRADOR rol isminden önce alan)? –

+2

Varsayılan olarak, roller 'ROLE_ *' olarak adlandırılmalıdır. Geçmişte ilkbaharın kaynak kodunda kodlanmış olan ipi buldum. – fcracker79

cevap

2

bu deneyin hasRole yöntemi ... ebil'kullanma Ama bu kod benim için çalışıyor:

<security:authorize access="hasAuthority('ROLE_ADMIN')"> 
you are an admin! 
<security:authorize> 
+0

Bunu paylaştığınız için teşekkür ederiz. Benim için çalıştı. HasRole ('XXX') yöntemiyle mücadele ediyordum. – Buminda

+0

EğerAnyGranted kullanımdan kaldırılırsa, karşılaştığım bir şey daha, Kullanıcı & Yetkililerimi saklıyorum, o zaman benim durumumda "hasAuthority ('admin')" veya "hasAnyAuthority ('admin', 'user')” kullanmak zorunda kaldım –

0

Özür Bahar güvenlik 4.2 kullanan ve

İlgili konular