ฉันจำเป็นต้องใช้ความยืดหยุ่นและเรียบง่าย (ถ้ามีอยู่) และในเวลาเดียวกันก็ใช้วิธีการที่เป็นไปได้
จนถึงตอนนี้ฉันได้นำ MembershipProvider และ RoleProviders มาใช้ นี่เจ๋ง แต่ฉันจะไปไหนต่อ
ฉันรู้สึกว่าฉันต้องการเพิ่มคำว่า "Priviledge" และมากกว่า hardcode ที่อยู่ในแอปพลิเคชัน ผู้ใช้จะกำหนดค่าบทบาทเพื่อเพิ่มสิทธิ์ให้กับบทบาทและกำหนดบทบาทให้กับผู้ใช้
เสียงนั้นเป็นแบบอย่างที่ดีหรือไม่? ฉันควรคิดถึงการเพิ่มสิทธิพิเศษระดับผู้ใช้ด้านบนของการเพิ่มพวกเขาลงในบทบาทหรือไม่ ฉันอาจ แต่ฉันนึกภาพปัญหาเกี่ยวกับการตั้งค่า (ทำให้สับสน) และการติดตามต่อไป
หากฉันไม่ทำเช่นนั้นและผู้ใช้บางรายจะต้องมีสิทธิ์น้อยกว่า - ผู้ดูแลระบบจะต้องสร้างบทบาทอื่นเป็นต้น
กระสุนเงินสำหรับระบบเช่นนี้? และทำไม Microsoft ไม่ไปไกลกว่านี้เพียงแค่ผู้ให้บริการสมาชิกและบทบาท?
ความคิดอื่น: ปล่อยให้บทบาทเป็นผู้ถือ "priviledge" และ hardcode พวกเขา จากนั้นฉันสามารถโค้ดไปยังบทบาทเหล่านั้นภายในแอปโดยใช้มาร์กอัพ / คุณลักษณะที่มีอยู่ทั้งหมด - Microsoft ทั้งหมด
เพิ่มเอนทิตีใหม่ "กลุ่ม" และสร้างความสัมพันธ์เช่นนี้
- ผู้ใช้
- กลุ่มผู้ใช้
- กลุ่ม
- RoleGroups
- บทบาท
วิธีนี้ฉันสามารถรวบรวมบทบาทเป็นกลุ่มและกำหนดกลุ่มเหล่านั้นให้กับผู้ใช้ ฟังดูดีและเข้ากับรูปแบบซอฟต์แวร์อื่น ๆ แต่ฉันก็ไม่สามารถนำสิ่งต่าง ๆ มาใช้ใน RoleProvider อย่างเช่น:
- AddUsersToRoles
- RemoveUsersFromRoles
และบางสิ่งก็ไม่สมเหตุสมผลอีกต่อไปเพราะมันจะถูกเข้ารหัสยาก
- DeleteRole
- CreateRole