Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
micoteam
Üye
Mesajlar: 66
Kayıt: 07 Tem 2004 08:12
Konum: İstanbul

Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil

Mesaj gönderen micoteam » 18 Kas 2009 02:50

Merhaba arkadaşlar,
yeni başlayacağım bir projede kullanıcılara göre Form yetkileri(girebilir,görebilir,ekleyebilir,düzenleyebilir,silebilir) diye yetkiker olacak. bu yetkilere göre formlar acıldığında buna göre form kontrollleri visible veya enable olacak. bu konuda daha önce c# ta böyle bir yapı hazırlamadım. onun için sizlerin de fikirlerini almak istedim.
diğer bir konu ise bu projede her formda dil desteği olmasını düşünüyoruz. formun menülerinden tutun tüm label ve acıklamalar da dil desteği olacak. bunları nasıl ne şekilde yapabilirim...

uygulama visual studio 2008 c#
veritabanı mssql

ilgilerinizden dolayı teşekkür ederim..
..:En Büyük Başarı Hiç Düşmemek Değil, Her Düşüş Sonunda Kalkıp Yola Devam Edebilmektir:..

Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 07:56
Konum: yine yeniden Ankara ^_^

Re: Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil

Mesaj gönderen unicorn64 » 18 Kas 2009 05:04

bir tane yetki tablosu oluşturup her yetkilendirme başlığı için (girebilir,görebilir,ekleyebilir,düzenleyebilir,silebilir) tabloda alan oluştur. tabloda bir de kullanıcı adı alanı olacak tabiki. sonra her bir kulanıcı için yetkilendirme yapılacak iş için ilgili alana 1 yetkisi olmayacak iş için alana 0 yaz mesela. sonra kullanıcı programa girince bu değerleri al ve ona göre visible, enable seçimlerini düzenlersin.

Kod: Tümünü seç

KULLANICI_ADI   GORSUN     EKLESIN   SILSIN
AHMET               1        1          0
MEHMET              1        1          1
VELI                1        0          0 
çoklu dil desteği için de resorce file ı kullanırsın. destekleyeceğin her dil için bir res.file oluşturup menü label açıklama alanları için buraya o dildeki karşılığı yazarsın. sonra programda hangi dil seçilmişse formun açılışında ona uygun res.file ı kullanıp gerekli alanların dil karşılıklarını res.file dan okuyup gerekli yerlere yazarsın.

Kod: Tümünü seç

// kodları tam olarak hatırlamıyorum sadece işlem mantığını göstermek istedim...

private void CokluDilDestegi() 
{
string Dosya_adi="TR.res";

if (dilsecimi=="ING") Dosya_adi="ING.res";

resdosyasiac();

menu1.item.text=res["menu1"]; 
lblaciklama.text=res["aciklama"];

}

bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim

Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 03:55
Konum: İstanbul
İletişim:

Re: Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil

Mesaj gönderen lazio » 26 Kas 2009 10:47

şöyle bir yol izleyebilirsin,
Her sayfanın/formun adını bi tabloda tutup, kullanıcı rolu ile bu sayfa form adını ayrı bir tabloda ilişkilendirebilirsin. her sayfayı bir base class tan türeterek bu base class ta kullanıcının rolünün bu index tablosunda olup olmadığını kontrol edersin.
Formlardaki objeler içinde benzer bir mantık kullanıp her sayfadaki objeyi bir tabloda tutup, yine rolle ilişkilendirdiğin bir tablo olur ve kullanıcı sayfaya erişim yetkisi varsa bi sonraki aşama olarak objeleri denetlersin.
Tabi burda kullanıcıları ekstra olarak bir rola tablosu olacak ve her kullanıcı bir role bağlı olacak, yan yetkiler rol bazlı olacak..
Resim

..::|YeşilMavi|::..

fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Re: Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil

Mesaj gönderen fduman » 25 Nis 2010 05:55

Ekranlarda standart, Ekle, Güncelle Sil düğmelerinin olacağını varsayarsak, şu şekilde bir yapı kullanmıştım.

Öncelikle kullanıcının yetkilerini sorgulayan global bir metodun olmalı. Kullanıcının yetki tablosunda, A işlemi ekleme, silme ve güncelleme yetki nesneleri tanımlı olsun. Metodun, oturum açan kişiye göre bu yetkileri sorgulayacak.

Düğmeleri inherit edip, kendi düğmemi oluşturmuştum. Oluşturduğum düğmemin OnPreRender'ında (Web uygulamasıydı), kullanıcının yetkilerini kontrol ederek, düğmeyi Visible/Invisible yaparak işimi görmüştüm.

Cevapla