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..
Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil
Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil
..:En Büyük Başarı Hiç Düşmemek Değil, Her Düşüş Sonunda Kalkıp Yola Devam Edebilmektir:..
Re: Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil
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.
ç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ç
KULLANICI_ADI GORSUN EKLESIN SILSIN
AHMET 1 1 0
MEHMET 1 1 1
VELI 1 0 0
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...
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...
Re: Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil
şö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..
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..
Re: Formlara Göre Kullanıcı Yetkileri Ayarlamak ve Coklu dil
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.
Ö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.