1
請考慮以下情形:管理員>管理器>代表>客戶>沒有作用(公共訪問頁)訪問級別/安全角色的設計選擇:個人角色或繼承
有了:有4個級別的訪問的Web應用程序我目前的應用程序的設置,我可以允許2種方式訪問:
我可以編寫代碼,將承擔角色的優先級,即如果用戶是AA經理 - 應用程序將自動假設他/她的權利客戶&代表可以訪問的區域,但不是管理員。
我可以在表中分別分配每個角色。例如,用戶將有3個角色分配給他們。因此,該應用程序不會承擔角色優先/繼承。我可以讓管理員爲用戶分配角色,或者讓一些代碼在授予更高訪問級別時自動爲用戶分配額外角色。
,此兩種方法是從維護的角度看比較好?
P.S.
我不認爲這很重要,但我使用Rails 3與CanCan &設計。 也是我設置了角色和用戶之間的關係如下:
角色< =>(HABTM)< =>用戶
Srdjan,謝謝你的回覆。後續問題:如果角色名稱發生變化或我必須添加更多粒度角色支持,該怎麼辦?我的意思是 - 沒有單一的垂直繼承了。 I.E .:我想授予一些代表,新角色稱爲product_manager,並給予其他一些faq_manager,但另一個代表應該能夠使用news_manager。你會如何處理這種情況?在過去 - 我使用第二種方法,它確實沒問題。有什麼想法嗎? – konung 2011-03-04 21:51:37
哦,如果你需要更多的粒度和角色不一定建立在彼此之上,我也會採用方法2.康康的美妙之處在於,如果你需要它,你也可以做。 – 2011-03-05 02:08:37