İyi günler arkadaşlar,kolay gelsin hepinize. JSF'de veri tabanından kullanıcı girişi yaptırabiliyorum fakat yapılan bu girişi session yapısı ile tüm sayfalara uygulamam gerekiyor. Bunu nasıl yapabilirim?

soruldu: 15 May '14, 09:05

ilkay's gravatar image

ilkay
726333649
cevap kabul oranı: 13%

Session management için tavsiyem Apache Shiro framework'ünü kullanmanızdan yanadır. Oldukça esnek ve basitbir framework.

http://shiro.apache.org/session-management.html

(26 May '14, 09:53) Turgay Can Turgay%20Can's gravatar image

  • Ziyaretcilerin login olup olmadığını anlamak için basit seviyede bir FILTER tanımyalabilirsiniz.

  • Login sayfasından bilgileri aldıktan sonra tanımladığınız filter dan başarı bir şekilde geçer ise session'a kullanıcıyı kaydedin.

  • Kullanıcının her Request hareketi bu filter kontrolünden geçer. Kullanıcı session store da var mı yok mu kontrolüne göre login sayfasına veya erişime izin verilen sayfaya yönlendirilebilirsiniz..

  • Aynı şekilde kullanıcı logout yaptığında bilgisini session dan silebilirsiniz.

Bu linkte basit bir örnek mevcut : link

Ayrıca daha profesyonel bir iş çıkarmak için Apache Shiro gibi bir api kullanabilirsiniz.

permanent link

cevaplandı: 15 May '14, 15:31

MDemir's gravatar image

MDemir
2.1k173445
cevap kabul oranı: 24%

Merhabalar ;

  • Bunu FacesContext yardımı ile yapabilirsin şu şekilde ;

Buradan import et : import javax.faces.context.FacesContext; iki parametre ister senden birincisi alias verirsin "user" olarak verdik ve öbür parametresi olarakta giriş yapan objeyi attık.

 FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("user", userObjesi);

Sonrasında bunu sessiondan almasıda şu şekilde

UserObjem userObjem = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("user");

galiba user objenizin tipine casting işlemi yapacak gerekli işlemi yaparsınız .. Bu şekilde sessiondaki userları aldık ve istedigimiz gerde kullanırız

  • Sessiondaki nesneyi direk objeye atmadan sayfada kullanmanın yoluda var

//yukardaki sessionu put ederken verdiğimiz key'i yazıp parametre ismini yazarsak çekeriz xhtml sayfada 'user. ' dedikten sonra değişkenlerin isimleri gelmez şaşırtmasın sizi

<h:outputText  value="#{user.userName}"/>

Bu sadece Sessiondaki user bilgilerini içerir şimdilik işine yarar ama sanırım bir login işlemi yaptıracaksın ve rollerini kontrol ederek sayfaya erişimi veya komponentlere erişimi varmı yokmu diye bakacaksın bunun içinde bu sessiondaki user bilgilerini kullanarak PhaseListener sınıfıyla dinlemen gerekecek bu sınıfı araştırırsan o kontrolleride yaparsın

Bir sorun olursa gene yardımcı oluruz

İyi Çalışmalar

permanent link

cevaplandı: 16 May '14, 03:01

Mehmet%20KILIC's gravatar image

Mehmet KILIC
51191422
cevap kabul oranı: 20%

değiştirildi: 16 May '14, 03:05

Kullanıcı login JSF bean de @viewscope da girişi kabul eden bean de @session scope alırsanız kullanıcının tüm oturumu boyunca devam eder.

permanent link

cevaplandı: 26 May '14, 06:44

hayrullah's gravatar image

hayrullah
11
cevap kabul oranı: 0%

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:

×281
×10
×3

Soruldu: 15 May '14, 09:05

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

Son güncelleme: 26 May '14, 09:54

powered by BitNami OSQA