Seperti yang ditulis krokodilko dalam komentarnya, itu tergantung pada tingkat fleksibilitas yang Anda butuhkan.
Saya telah menerapkan izin berbasis peran untuk salah satu klien saya sebagai berikut:
- Pengguna (id pengguna (PK), nama pengguna (unik), sandi (asin dan hash! ), nama depan, nama belakang, telepon dll')
- Peran (id peran (PK), nama peran (unik), deskripsi peran)
- Izin (id izin (PK), nama izin (unik)) - tab / layar / tindakan ada di sini
- User To Role (user id, role id) - PK adalah gabungan kedua kolom
- Peran ke Izin (id peran, id izin) - PK adalah gabungan kedua kolom
Tetapi persyaratan saya adalah sefleksibel mungkin, dan ini adalah sistem yang masih berkembang (6 tahun dan terus bertambah).
Saya kira banyak aplikasi dapat membuat pengguna berperan sebagai hubungan satu ke banyak, alih-alih banyak ke banyak seperti dalam kasus saya, tetapi saya tidak akan memaksakan izin pengkodean atau peran ke izin dalam aplikasi apa pun.
Penjelasan lebih lanjut:Desain basis data keamanan berbasis peran pada Apa # yang saya ketahui?