Esnek VE basit (böyle bir şey varsa) uygulamam gerekiyor ve aynı zamanda mümkünse yerleşik araçlar kullanmalıyım
Şimdiye kadar MembershipProvider ve RoleProviders uyguladım. Bu harika ama bir sonraki adımda nereye gideceğim?
"Priviledge" terimini eklemem gerekiyor ve uygulamanın içindeki sabit koddan daha fazla. Kullanıcılar Rollere Ayrıcalıklar eklemek ve kullanıcılara Rol atamak için rolleri yapılandırır.
Bu iyi bir model gibi mi geliyor? Rollere eklemenin yanı sıra Kullanıcı düzeyinde ayrıcalıklar eklemeyi düşünmeli miyim? Yapabilirim ama kurulum (kafa karıştırıcı) ve aşağıdaki destek ile ilgili sorunları öngörüyorum.
Bunu yapmazsam ve bazı belirli kullanıcıların daha az ayrıcalığa ihtiyacı varsa - yöneticinin başka bir rol oluşturması gerekir.
Böyle bir sistem için gümüş mermi var mı? Microsoft neden sadece Üyelik ve Rol sağlayıcılarından daha ileri gitmedi?
Başka bir fikir: Rolleri "ayrıcalık" sahibi olarak bırakın ve sabit kodlayın. Sonra tüm mevcut biçimlendirme / öznitelikleri, vb - tüm Microsoft kullanarak uygulama içindeki rolleri kodlayabilirsiniz.
Yeni varlık "Grup" ekleyin ve bunun gibi bir ilişki oluşturun
- Kullanıcılar
- Kullanıcı Grupları
- Gruplar
- RoleGroups
- Roller
Bu şekilde Rolleri gruplara toplayabilir ve bu grupları Kullanıcılara atayabilirim. Harika görünüyor ve diğer yazılım desenleriyle eşleşiyor. Ama sonra gerçekten RoleProvider içinde bir şeyleri uygulayamıyorum:
- AddUsersToRoles
- RemoveUsersFromRoles
Ve bazı şeyler artık gerçekten mantıklı değil çünkü kodlanacaklar
- DeleteRole
- CreateRole