Uygulama Rolleri için kullanıcı arabirimi öğelerini yetkilendirmek için en iyi yaklaşım hakkında genel bir sorum var. Demek istediğim bir Yönetici, düzenli bir Kullanıcının göremediği düğmeleri, menü öğelerini, vb. Görebilir. Bunun için en iyi uygulama nedir?.NET'teki Kullanıcı Arabirimi Yetkilendirmeleri WinForms
Role (kesinlikle bir kullanıcı için, vb.), Aynı derecede overkill gibi görünen bir ekrana dayalı birden çok ekran olabileceğini anlıyorum. Ayrıcalık Ayrılığını da korumak istiyorum, bu yüzden yetkilendirme kodum görüntü işleviyle karıştırılmıyor. Ben yapmak istediğim tam olarak ne neredeyse görünüyor PostSharp ile Yönleri bakarak edilmiştir
if(current_user.IsInRole("administrator"))
button.Enabled = true;
, ancak mantıksal olarak UI uzatmak görünmüyor: Başka bir deyişle, ben önlemek istiyorum.
Eminim ki bir şey kaçırmıyorum, ne var?
Teşekkür - senin kod sonunda gizlemek için UI öğeleri bir listesini hazırlamak veya belirli bir eylemi gerçekleştirmek ve ardından geçerli rolüne göre bu eylemleri gerçekleştirmek olasıdır görünüyor
Domenic -.. sayesinde SetPropertyIfInRoleAttribute (veya SetPropertyByRole Öznitelik) güzel bir orta zemine benziyor ve bu andan itibaren bu yöne yaslanıyorum. Büyük açıklama, açıklık için teşekkürler. Şimdi görüyorum, bir Attribute kurucusundaki lambda çok yararlı olurdu! – grefly
Bir takip etme sırasında, PostSharp kullanarak koştuğum şey, özel bir öznitelik alamadım, çünkü .NET framework sınıflarını (metin kutuları, vb.) Bir örnek düzeyinde süslüyorum. Sanırım yine aynı konuya geçeceğim. Orijinal soruya büyük bir cevap vermiş olmanıza rağmen, bir cevap genellikle iki soruya yol açar ... = D – grefly