Speed框架許可權管理開發當中遇到的問題和處理方式

譚雲財SEO顧問發表於2019-07-30

這兩天在用WDZ+SP框架做個後臺管理系統,涉及到許可權控制的問題,Speed框架許可權管理會顯得很重要,研究了下框架自帶的許可權管理,呵呵,覺得有點麻煩,特別是資料初始化的時候,需要手工去增加N多資料。然後我就秀逗了下,也從框架層面考慮,設計了一個Speed框架許可權管理的方法。 思路是這樣的,因為根據使用者操作的特點(一般一個操作為一個URL),加上SP的特點(一個URL對應唯一的一個C和一個A),那麼就是針對URL的訪問控制。SP自帶的ACL也是這麼做的,下面,做法不同的地方在於,我是通過擴充套件spController,載入所有Controller目錄中的所有的類,進行反射,獲取相關的許可權設定(後面闡述怎麼設定),然後聯合當前使用者在資料庫中儲存的相關許可權配置進行全域性控制。 舉個例子(為什麼沒有程式碼編輯器?): /app/controller/user.php
}

/**
 * user-index
 *
 * @author ShuraChow
 * @docheck true
 * @AclSubjectName  管理員列表
 */
function index(){

}

/**
 * user-useradd
 *
 * @author ShuraChow
 * @docheck true
 * @AclSubjectName  新增管理員
 */
function useradd(){

}

/**
 * user-useredit
 *
 * @author ShuraChow
 * @docheck true
 * @AclSubjectName  編輯管理員
 */
function useredit(){

}

/**
 * user-doadduser
 *
 * @author ShuraChow
 * @docheck true
 * @AclSubjectName  刪除管理員
 */
function deleteuser(){

}

/**
 * user-_doadduser
 *
 * @author ShuraChow
 * @docheck true
 * @fatherAction c_user_a_useradd
 * @AclSubjectName  新增使用者操作
 */
function _doadduser(){

}
/**
 * user-_doadduser
 *
 * @author ShuraChow
 * @docheck true
 * @fatherAction c_user_a_useredit
 * @AclSubjectName  編輯使用者操作
 */
function _doedit(){

}

}

相關文章