merhaba

spring securityle facelets sayfasında admin kullanıcı olan ve olmayan ziyaretçilere farklı içerik sunmaya çalışıyorum

facelets sayfasında security tags kullanıyorum

<security:authorize access="hasRole('ROLE_ADMIN')">
        admin
</security:authorize>

Role admin olsun olmasın, sayfaya giren kullanıcı etiketler arasındaki ifadeyi görebiliyor

spring-security.xml dosyasında intercept-url tanımlamaları şöyle

<security:http auto-config="true" use-expressions="true" access-denied-page="/accessDenied.xhtml">
    <security:intercept-url pattern="/index.xhtml" access="isAnonymous()"/>
    <security:intercept-url pattern="/page/**" access="hasAnyRole('ROLE_ADMIN','ROLE_USER')" />
    <security:form-login login-processing-url="/j_spring_security_check" login-page="/login.xhtml" 
                         default-target-url="/page/admin/index.xhtml" 
                         authentication-failure-url="/login.xhtml?state=failure"/>
    <security:logout logout-success-url="/index.xhtml?state=logout"  />
</security:http>

pring versiyonu 3.1

web framework jsf versiyon 2.0

server tomcat 7

soruldu: 12 Mar '12, 18:05

lazy's gravatar image

lazy
146171724
cevap kabul oranı: 0%

değiştirildi: 16 Haz '12, 11:31

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559

jsp sayfasında <sec:authorize ifallgranted="ROLE_ADMIN">admin</sec:authorize> kodu çalışıyor, admin ifadesi sadece role_admin kullanıcısına gösteriliyor jsp sayfasındaki etiket nitelikleri de facelets sayfasındakinden daha zengin faceletsde bu etiketleri bu zenginlikte kullanmanın bir yolu yok mudur

(13 Mar '12, 07:45) lazy lazy's gravatar image

Spring'in standart security tag kütüphanesi yanlış bilmiyorsam JSF 2.0'ı desteklemiyor. 1.2 için facelets desteği mevcut diye biliyorum ancak kullanmadığım için kesin bir şey söyleyemeyeceğim.

Faces 2.0 kullanıyorsanız ihtiyacınızı karşılayacak bir kütüphane mevcut: http://www.dominikdorn.com/facelets/

Bu kütüphane ile

<sec:ifAnyGranted roles="ROLE_ADMIN">
        Admin Kullanıcısı
</sec:ifAnyGranted>

<sec:isAnonymous>
       Ziyaretçi        
</sec:isAnonymous>

vb kullanımları gerçekleştirebilirsiniz. Yine expression language ile de bu kütüphaneyi kullanabilirsiniz, örneğin

<h:commandButton action="#{securityBean.delete}" rendered="#{sec:ifAnyGranted('ROLE_ADMIN')}"/>

şeklinde bir kullanımda commandButton bileşeni sadece ROLE_ADMIN kullanıcısına render edilecektir...

permanent link

cevaplandı: 13 Mar '12, 10:39

hakdogan's gravatar image

hakdogan
2.1k31926
cevap kabul oranı: 43%

@hakdogan hocam teşekkür işime yaradı

(15 Mar '12, 09:37) lazy lazy's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×128
×10
×1

Soruldu: 12 Mar '12, 18:05

Görüntüleme: 1,091 kez

Son güncelleme: 16 Haz '12, 11:31

powered by BitNami OSQA