Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > kullanıcıya yetki verme
Yazar
perihan


avatar
Ankara
Kayıt: 09.01.2006
04.11.2009-10:06 #64452
merhaba arkadaşlar;
yaptığımız bir projede işletmelere proje ekleme, güncelleme, projeye ait ödeme girme ,ihale ekleme gibi işlemler var.kullanıcı ve admin tanımlı.admin kullanıcı ekleme gibi haklara sahip. bizim kullanıcılara işletmelerine göre yetki verilmesini sağlamamız gerekiyor.kullanıcıya işletme yetkisini admin verecek.kullanıcı sadece kendi işletmesinin yada izin verilen işletmelerin işlemlerini yapabilir projelerini görebilir ve ihale ekleyebilis vs. .veritabanında kullanıcı işletme erişim tablomuz var.kullanıcı işletme erişim id ,kullanıcı id ve işletme id yi tutuyor.Bu konuda bir yol,yöntem ,methot önerebilirmisiniz.







Yazar
safter


avatar

Kayıt: 18.04.2006
04.11.2009-13:36 #64465
Proje içerisinde roller oluştur, örneğin;

Basit kullanıcı, İşletme proje yöneticisi, admin, muhasebe v.s...

oluşturduğun bu kullanıcı rollerine göre yetkiler ver ve bir kullanıcı oluştururken oluşturma ekranında yeni kullanıcının rolünün seçilmesini sağla ;)

mesela senin proje yöneticisi diye bir rolün olsun, yeni bir kullanıcı oluşturdugun zaman oluşturdugun kullanıcı için proje yöneticisi rolunü seç bu şekilde bu kullanıcı kendine bağlı projeler ile ilgili bilgileri görüntüleye bilir ve işlem yapabilir.

peki kullanıcıya projeyi nasıl ekleyeceksin sorusuna gelince..

projeyi oluştururken her projenin mutlaka bir proje yöneticisi olmalı tarzında bir alan oluştur ve o projeye eklemek istediğin proje yöneticisini kullanıcılar arasından seç.

biraz karışık mı oldu bilmiyorum eğer ihtiyaç duyarsan elimde tam olarak bahsettigin şekilde çalışan büyük bir proje var sana ekran görüntülerini yollayabilirim

kolay gelsin.





q
Yazar
iemre


avatar
Anadolu
Kayıt: 26.05.2007
04.11.2009-14:58 #64466
Bu tür pojelerde rol belirlemek için üyelerin tutulduğu tabloya ROLE diye bir kolon eklenir.Daha sonra proje içerisinde bi işlem yaptırılacağı zaman bu kolondan kullanıcının rolünü alır ve kontrol edersin.Mesela atıyorum ROLE_ADMIN,ROLE_MDODERATOR,ROLE_USER gibi çeşit çeşit olabilir.

     if(curruntUser.isAdmin()){
          // mesela burda bi kullanıcıya moderatörlük yetkisi veren java kodu yazılabilir.
     }
  


buna benzer şekilde proje içerisinde bu roller dalllanabilir.

Bu role işini çok çok iyi bir şekilde görebileceğin Appfuse diye bir proje var internetten indirebilirsin.Projenin içerisinde çok güzel bir şekilde tabloların yapısı ve user rolleri var.Umarım işine yarar.





More than one
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
04.11.2009-22:37 #64494
kullanıcı tablon olsun kullanıcı adı ve id si
ORHAN 1
rol tablon olacak bu tabloda roller ve her rolun id si olacak.
örn
PROJE_SIL 1 , PROJE_GUNCELLE 2 gibi sonra
rolleri kullanıcılara yada kullanıcı gruplarına atayabileceğin bir tablon olmalı. Kullanıcı bazlı çalışacaksan.
kullanıcıların ile rolleri eşleştirdiğin bir tablo olmalı.
örn
role_id,kullanici_id,deger
1 (proje_sil),1(orhan),1 (1 nolu proje)

şimdi burdaki değer alanını esnek tutabilirsin. proje_id sini verip o role sahip olan ve o proje_id sine yetki verebilirsin.
Bence yetki grupları oluştur kullanıcılara da bu yetki gruplarını ata.





N/A
Yazar
perihan


avatar
Ankara
Kayıt: 09.01.2006
06.11.2009-09:51 #64548
yetkiler proje sil ,güncelle gibi değilde her kullanıcı bu haklara sahip ama sadece kendi işletmeleri için.


HttpSession session = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes()).getRequest().getSession();
Tblkullanici tblkullanici = (Tblkullanici) session
.getAttribute("login");
sessionla oturum açmış kullanıcının bilgilerini alıyorum.

List <TblkullaniciIsletmeErisim> erisimListesi= TblkullaniciIsletmeErisimDAO.getFromApplicationContext().findByProperty("tblkullanici", tblkullanici.getKullaniciId());

oturum açmış kullanıcının kullanıcı erişim tablosundaki bilgilerini alıp

mav.addObject("erisimListe", TblisletmeDAO.getFromApplicationContext().findByProperty("tblisletme",((TblkullaniciIsletmeErisim) erisimListesi).getTblisletme().getIsletmeId()));

sadece bu kullanıcının işletmelerini jsp ye göndermesini istiyorum .Ama kodda bi yanlışlık var galiba.hibernate kullanıyorum.
kullanıcıi işletme erişim tablosunda kullanıcıİşletmeErişimId,kullancıID ve işletmeId var






Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
06.11.2009-11:28 #64551
sana söylediğim şema da da işletme id alanını deger kısmına girebilirsin.
deger alanı opsiyonel alan. istediğin şeyin id sin yada degerini içinde saklayabilirsin.





N/A
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb