这两天在用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(){

}

}