-
Thinkphp是一套不錯的Php開發框架,前段時間用它幫我開發了一套實物管理系統。由於是第一次用他來開發東西,所有的東西都很陌生,很多東西都一個個得去翻看document。所幸最後終於算是完成了任務。下面分享一下RBAC的開發心得。
基於角色的訪問控制(Role-Based Access Control)
關於Thinkphp的RBAC怎麼用,表怎麼建怎麼填,我就不說了,網上有很多。我這裡想說的是使用Thinkphp+RBAC書寫代碼時候的一些建議。
曾經閱讀過phpcms9v的代碼,發現了裡面實現mvc模式的一些做法不錯,就記下了。一開始用thinkphp的時候發現同樣有這個做法,有寫小興奮,以為寫代碼會很方便。然後操起鍵盤就寫。直到我寫完了大部分的代碼之後我才發現,定義RBAC數據表的時候遇到了問題。因為有好多權限本應該是在一個操作裡面不可分割的,我卻必須要把它們分開;一個類裡面有好多的操作,使得我不知道那些是用來接收請求的...
後來我就想到了...似乎有很多東西我都還沒有用上,只顧著偷懶了...
比如?act=submit
本來表單提交可以寫到一個動作裡面,我就偏寫兩個/index.php/Index/submit。。。
寫數據表的時候,兩個就要分開了...
所以我建議大家以後寫RBAC程序的時候,把需要同一個權限的動作,放在一個function 裡面,這樣定義RBAC的時候就方便多了。。。