現在做的一個企業應用HRMS,權限管理方面有些問題想不透徹:
1、多種粒度的權限判定:
基於部門的權限
基礎模組權限
#人事模組權限
#行政模組權限
#招募模組權限
#訓練模組權限
#以上5種模組中,後四種依賴第一種模組,所以會將一些私人資料如考勤資料查看放在基礎模組權限裡。
基於職位的權限
部門總監
高階經理人
主管
普通職員
#基礎模組裡還會含有發起流程,但是一般員工無法審核流程,經理級別以上才能開到下屬員工發起的流程。
使用者跟權限直接掛鉤
因為實際生產環境中會有一些人是總監助理,或身兼多職。對於這種情況我打讓使用者直接用user_permisson表管理。
問題1:資料模型設計
#這種設計後期驗證方面是否會比較麻煩?
問題2:不同部門、職位所顯示的介面稍有不同,如何實現? (最好是ajax方式載入)
例如人事部門在基礎模組的基礎上能夠看到履歷庫,以及人員資訊。經理級別可以審核下屬員工,以及團隊績效等數據。
線上等有檢驗的高手解答,萬分感謝!
這個專案基於Laravel 5.2.29,目前是一個人在做,打算開源。
如果有興趣的朋友可以一起開發。
有考慮過
RBAC
嗎,部門可以是個角色,崗位可以是個角色,用戶的特殊權限也可以劃分一個獨立角色,你的思路也沒錯,你所擔心的後期驗證方面是否麻煩應該是指權限關聯表太多會造成查詢超時這種情況吧,那就將權限存NoSQL。關於第二個問題,顯示不同的話最好是把選單的顯示也結合到權限裡面去,權限表裡面有單純的權限項目+選單項目