Gelişmiş Kullanıcı ve Grup İzinleri Belirleme Örneği
#1
access-sql-1 
[Resim: kp7.jpg]


Merhaba..

Hazırladığım bu örneğin çalışma prensibini bir senaryo ile anlatmak sanırım daha açıklayıcı olur..:

Diyelim ki çalıştığımız mağaza için bir uygulama yaptık ve bu uygulamayı diğer personel arkadaşlarımızla beraber kullanacağız.. Fakat sorun şu ki, bu kapsamlı uygulamamızda herkesin her formu açıp her işlemi yapmasını istemiyoruz.. Buna göre bir izin ve erişebilirlik düzeni hazırlamamız lazım..
Şimdi bunu Access’in kendi seçenekleri dışında kendimiz uygulamamız üzerinden yapalım..

Uygulamayı biz Yönetici yetkisi ile kullanacağız..

Mağazamızda Kasiyer olarak görevli Gamze için Yönetici Kontrol Panelimizi açıp önce Kullanıcı Grupları kısmından Kasiyer adı ile bir grup oluşturalım sonra Kullanıcılar kısmından Gamze’nin kaydını yapalım..

[Resim: kp1.jpg]

Daha sonra uygulamamızı kullanacak diğer kişiler için de ayrı ayrı Kullanıcı Grupları oluşturup kayıtlarını yapalım..

[Resim: kp2.jpg]

Gruplarımız şu şekilde oluşturalım..:

Yönetici, Kasiyer, Depocu, Muhasebe, Ziyaretçi..

İlave olarak, grupları oluştururken formların zemin rengini de her gruba göre farklı bir renk belirleyebiliyoruz..

Tüm bu grupların kullanıcı kayıtlarını yaptıktan sonra uygulamamızı nasıl kullanacaklarını şekillendirelim..

Yönetici, tüm uygulama üzerinde her işlemi yapma hakkına sahip olacak..

Kasiyer, kayıt ekleyebilmeli, görüntüleyebilmeli, ama mevcut kayıtlar üzerinde silme ve düzenleme yapamamalı..

Depocu da aynı Kasiyer yetkisine sahip olmalı.. (Kasiyer ile yetkisi aynı ise neden ayrı grup oluşturduk birazdan belli olacak) Yani tüm formlara sadece yeni kayıt ekleyebilsin..

Muhasebe grubuna kayıt girişi ve düzenleme izni verelim ama kayıtları silemesin..

Ziyaretçi ise uygulamayı sadece görüntüleyebilsin.. Başka hiçbir şey yapamasın..


Şimdi Kontrol Panelimizden Nesne - Grup İzinleri kısmına gidip Grup İzinlerinin haricinde yukarıda belirlediğimiz izin ve yetkileri oluşturalım..

[Resim: kp3.jpg]

Evet, artık gruplarımıza bağlı kullanıcılar bu izinlere göre formları görüntüleyip; kayıt ekleme, kayıt düzenleme veya kayıt silme işlemlerini yapabilecekler..

Ama biz şunları da istiyoruz;
  • Kasiyer Gamze sadece Satış formundan kayıt yapabilsin, Alış formunu göremesin bile..
  • Depocu Mustafa da sadece Alış formunu görsün.. Ama Mustafa Satış formunu göremesin.
  • Mustafa (Depocu) ve Gamze (Kasiyer) Durum formunu görebilsinler fakat (hatırlatalım; iki grup da normalde aynı izinlere sahip) Gamze bu formdan kayıt yapabilsin ama Mustafa yapamasın.
  • Muhasebeci Kamil tüm formları görebilsin ve grubundaki izinlere göre işlem yapabilsin. Ama Satış formundaki kayıtları düzenleyemesin..
  • Yönetici haricindeki gruplar Yönetim Kontrol Paneli formunu göremesinler..

Nesne - Grup İzinleri kısmından yukarıdaki izinleri oluşturalım şimdi..

[Resim: kp4.jpg]

Hazırladığım bu uygulama ile bunun gibi daha bir çok izin tanımlaması yapabilirsiniz.. Form ve Rapor isimleri kendiliğinden gelmektedir, ayrıca girmeyeceksiniz.. Ayrıca dilediğiniz kadar kullanıcı ve grup ekleyebilirsiniz.. Grup isimleri örnek için verilmiştir, istediğiniz ismi atayabilirsiniz.. Her grup için yedi ayrı renkten birini seçerek form zeminlerini o grubun oturumuna göre renklendirebilirsiniz.. Tüm bunları ve daha fazlasını Yönetici Kontrol Paneli olarak tanımlağımız tek bir form üzerinden yapabilmekte işin güzel kısmı.. Goofy Bu forma ilaveler yaparak daha farklı işlemler içinde düğmeler yerleştirilebilir.. (Yedekleme, aktarma vb.)

Son olarak, form ve raporlarınızın yetkilendirmelere göre açılması için Açıldığında Olay Yordamına

Visual Basic
  1. Call Yetkiler(Form)



yazmayı unutmayınız..


Ekteki uygulamada yukarıdaki senaryoya göre gruplar ve kullanıcılar oluşturulmuş haldedir.. Her kullanıcı için giriş şifresi kullanıcı isminin ilk harfidir..



Not: Üyelerimizin isteklerine göre değiştirilmiş çeşitli versiyonlarını (alt formda yetkilendirme, textbox ile kullanıcı adı girişi vb. ) konu içerisindeki mesajlarda bulabilirsiniz..


Alıntı: 27-Haziran-2011 Tarihli Güncelleme

Bu tarihte,
  • Kullanıcıların rapor yazdırma yetkilerini yönetmek için ilave özellik eklendi..
  • Bu özelliği kullanabilmek için raporlarınız bu kod ile yazdırmak yeterlidir..:
    Kod:
    Call RaporYazdirma("Rapor_Adi")
  • Rapor görüntüleme yetkisi daha önce hazırlanmış ve araçta bulunan bir özelliktir, bununla karıştırmayınız..
Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,
  • Tbl_Nesne_Izinleri tablosuna eklenen yazdırabilir isimli alanı uygulamanızdaki aynı tabloya kopyala / Yapıştır yöntemi le alınız..
  • Tbl_Yetki tablosuna eklenen yazdırabilir isimli alanı uygulamanızdaki aynı tabloya kopyala / Yapıştır yöntemi le alınız..
  • Yetki modülü içerisine bu fonksiyonu yapıştırınız..:
    Kod:
    'Rapor Yazdırma İzni
    Public Function RaporYazdirma(rprY As String)
    Dim kllncY As String, raporadiY As String
    raporadiY = rprY
    kllncY = AktifKullaniciYetkisi
    On Error Resume Next
    Dim RgormeY As Double
    RgormeY = DLookup("yazdirabilir", "Tbl_Nesne_Izinleri", _
    "nesne = '" & raporadiY & _
    "' AND grup = " & kllncY)

    If RgormeY = -1 Then
    MsgBox "Bu raporu yazdırma yetkiniz yok!             ", , "Taruz 2011"
    Else
    DoCmd.OpenReport raporadiY
    End If
    End Function
  • Raporlarınızı bu kod ile yazdırınız..
    Kod:
    Call RaporYazdirma("Rapor_Adi")





Alıntı: 19-Şubat-2011 Tarihli Güncelleme

Bu tarihte,
  • Kullanıcıların aktif ve pasif olma durumuna göre giriş yapabilmesi için ilave özellik eklendi..
  • Pasif kullanıcının (Örnekte Nuri ) giriş yaptıktan sonra sistem yöneticisine başvurması bilgisini veren ileti verilmesi ve uygulamanın kapatılması sağlandı..
  • Tbl_Kullanici tablosuna bu işlem için yeni bir alan eklendi..
  • Frm_Kullanici_Giris formuna bu şartlara göre kod ilavesi yapıldı..
Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,
  • Bu yeni alanı Tbl_Kullanici tablosuna kopyala yapıştır yöntemi ile alınız..
  • Frm_Kullanici_Giris formunu yenisi ile değiştiriniz..
  • Frm_Kullanici_Giris formunu daha önce biçimlendirmiş olanlar aşağıdaki kod satırını bulup
    Kod:
    DoCmd.Close
    DoCmd.OpenForm "frm_ana"

    bununla değiştiriniz..:

    Kod:
    If kullanici.Column(5) = 0 Then
    MsgBox "Kullanıcı yetkileriniz dondurulmuştur.. Lütfen sistem yöneticinizle görüşünüz..", vbCritical, "Taruz.."
    Quit
    Else
    DoCmd.Close
    DoCmd.OpenForm "frm_ana"
    End If





  • Aynı formdaki kullanici açılan kutusunu yenisi ile değiştiriniz..
  • Admin Paneli formu, Kullanıcılar bölümünden kullanıcılarınızın Aktif-Pasif durumunu belirleyiniz..




Alıntı: 11-Mart-2010 Tarihli Güncelleme

Bu tarihte,
  • Nesne izinlerini belirlerken, seçenekler arasında raporların da görüntülenmesi sağlandı..
  • Kullanıcı Gruplarının raporları görüntüleme izinleri modüle bağlandı..
  • Açılış ekranındaki hatalı şifre sayacı çalışmıyordu, düzeltildi..

Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,
  • Yetki modülünü yenisi ile değiştiriniz..
  • Raporların Görüntülenme yetkisi için, raporlarınızın Etkinleştiğinde olayına

    Kod:
    Call YetkilerRapor(Report)

    yazınız..
  • Hatalı şifre sayacı için Frm_Kullanici_Giris formunun kod sayfasında Option Compare Database satırı altına
    Kod:
    Option Explicit
    Dim YanlisSifre As Integer
    İlave ediniz..




Alıntı: 27-Ekim-2009 Tarihli Güncelleme

Bu tarihte,
  • Kullanıcıların Formlara Giriş ve Çıkış zamanlarının (Form adı ile beraber giriş - çıkış tarih ve saati) kaydedilmesi için yeni bir tablo ilave edildi..
  • Yetki modulü bu yapıya göre düzenlendi..
  • Yönetici Kontrol Paneli formuna bu kayıtların listelenmesi için düğme ilave edildi..

Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,
  • Bu yeni tabloyu uygulamanıza alınız..
  • Yetki modülünü yenisi ile değiştiriniz..
  • Frm_Admin_Panel isimli formu yenisi ile değiştiriniz.. (Opsiyonel)
  • Çıkışların kaydı için, formlarınızı Kapandığında olayına

    Kod:
    Call Cikis(Form)

    yazınız..


  • Açıldığında olayında bir değişiklik yok.. Yani,

    Kod:
    Call Yetkiler(Form)


    yazılı kalacak..

Güncellenmiş yeni versiyonu için tıklayınız.. Gelişmiş Kullanıcı ve Grup Yetkilendirme


Eklenti Dosyaları
.rar   trz-yetkilendirme.rar (Boyut: 138,71 KB / İndirilme: 2.355)



  Alıntı
Bu mesajı beğenenler:
#2
Taruz hocam;

Çoklu kullanıcılar için Harika bir örnek.

Paylaşımınıza çok teşekkürler.



  Alıntı
Bu mesajı beğenenler:
#3
Sayın Taruz;

Günaydın..

Bu güzel paylaşım için sağolun, emeğiniz için sonsuz teşekkür.

Selam ve sevgiler.



  Alıntı
Bu mesajı beğenenler:
#4
Teşekkürler. [Resim: orange.gif] Hiçbir şey diyorum. (diyecek birşey bulamıyorum anlamında)WinkYes



  Alıntı
Bu mesajı beğenenler:
#5
Bu alanda ilk olarak görüyorum eserinizi. Tebrik ve takdir ediyorum. Yabancı örneğini görmüş ve de burdan bu konuda istekte bulunacaktım. Gördüğüm Ez Tools Security Manager idi. Örneğime başlamadığım için isteğimi iletmedim. Aslında sizlerin de böyle bir eğilimi olduğu zaman yazmak istedim.

Körün istediği bir göz Allah verdi iki göz hesabı sizin bizzat projeniz bahtiyar etti. Elinize sağlık.

Çok hoş ve gerekli bir çalışma. Ayıp olmasın ben yine de fikir belirtmek isterim inceledikten sonra. Ben de bunu sürekli kullanmak istiyorum. Önceki çalışmada görüş istemiştiniz.

Access-SQL sakinlerine hayırlı uğurlu olsun. Heralde Taruz'vari bir bayram hediyesi oldu.
Green
Eek VT:Veri Tabanı, AVT: Access VT, MS:Microsoft, Kapaç: Kapa ve aç (rebot ve açkapa saçmalığına çözümüm)
Twitcy Yazan okuyan sağolsun, çözene saygılar. Kolaylaştırınız, zorlaştırmayınız.
? Cinnet geçirmemek için Access 2010'u SP2 ile kullanalım.
? Sürekli sebepsiz hatalar oluyor da AVT uçuyorsa siz de Ofis kurulmunu uçurun çözülüyor. Sorun kurulum dosyanızda! Farklısını bulun!
? VT dağıtıma çıkana kadar bölmek zaman kaybıdır!
{ Veri Tabanı Mantığı } {Access 2010 çökmelerine çözüm } { 60 Günlük Ofis 2010 Pro Türkçe } { Kayıtları Yan Yana Göstermek }
{ Forma Rapora Resim Fotoğraf Eklemek En kolay En Sağlam En Zengin Teknik }



  Alıntı
Bu mesajı beğenenler:
#6
Elinize sağlık sayın taruz,
cok güzel bir çalışma...



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
access-sql-7 E-Posta Aktivasyonlu Kullanıcı Kaydı ve Destek Formu Taruz 13 8.727 20-08-2019, 10:21
Son Mesaj: cozum@msn.com
access-sql-12 Gelişmiş Kullanıcı ve Grup Yetkilendirme Taruz 86 48.985 15-08-2019, 17:26
Son Mesaj: aksoy520
  Lisanslama - şifreli giriş örneği, Web Service ile Berkant Öztürk 22 16.765 17-10-2018, 19:26
Son Mesaj: dsezgin
  Yetkilendirmeli Kullanıcı Giriş Formu Abdullah 15 8.227 13-10-2018, 12:18
Son Mesaj: vokkani
  Kullanıcı ve Şifre Oluşturma Sihirbazı Taruz 122 67.965 28-12-2017, 10:33
Son Mesaj: serkanoz
  Kayıtlarda Yapılan Değişiklikleri Gözlemleme Örneği Taruz 68 34.378 05-02-2017, 20:47
Son Mesaj: rmznaydemr
  Gelişmiş Kullanıcı Programı v1.0 Beta tktukaci 11 7.434 05-07-2016, 15:11
Son Mesaj: okumas
  Kullanıcı Giriş Formu Abdullah 25 16.468 22-09-2014, 23:35
Son Mesaj: blueman

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi