Bu benim en projelerde ile sona erdi ve çok mutluyum "en iyi uygulama" dir:
1. Roles
Bu rolleri söz konusu olduğunda, ben (roles like "contributor", "manager" vb are not hard-coded, but put into a configuration file that can be changed per application) oluşturmak ve serbestçe kullanıcı hesaplarını ve grupları tanımlamak için yeteneği, yani büyük esneklik öneririz. Rolü yapılandırma kullanıcıya anlayamayacağı, ama motoru kendisi kodlanmış rollerden arınmış olmalıdır.
2. Rights
Rights şeyler olması gerekir nerede easy to understand and implement.
Ben çalışmak çok iyi tecrübeler ve karşı kontrol, very fine-grained rights on the code / API level adres:
- görmek
- görünüm
- düzenleme
- adını değiştirmek
- adını değiştirmek
- silmek
- hareket
- haklarını değiştirin
- vb
fakat the user never görmeks those. Onlar için, onlar grouped "sağcı grupların" çok az sayıda içine şunlardır:
- Sadece Oku
- Düzenle
- Administer = Move, adını değiştirmek....
Kullanıcı hakkı "hareket" görür, ama sadece "yönetme" hakları grubu asla.
Bu şekilde, retain the full power of fine-grained rights gelecek için kod - Eğer, örneğin, kolayca "stajyerler, sayfaları düzenlemek mümkün olabilir, ama onların başlıklarını değiştirmek mümkün olmamalıdır gibi bir kural için ne de ağırlayacak CMS değerli bir varlık ekleyerek, "onları silin. Son kullanıcı için, bu işlevsellik görünmez kalır ve kullanılacak hakları sistemi kolay.