THINKPHP RBAC 使用感想
2013-03-07 16:18
302 查看
示例中的数据表:
其中
think_node为项目节点表,包含项目中的所有项目,控制器,操作节点,
其中项目或是项目分组的level字段为1,控制器的level为2,操作的level为3。
think_role为权限等级分组,如有超级管理员,高级会员,新手等等信息。
think_role_user将会员和等级分组关联起来。
think_access将会员等级和操作节点关联起来。
示例中的配置项:
其中,
RBAC_USER_TABLE并不是会员信息表think_user,而应该时think_role_user。
USER_AUTH_KEY的配置是在登陆成功后必须要设置的session值,如
那么在登陆成功后必须设置
我也理解不深,以后再加吧
CREATE TABLE IF NOT EXISTS `think_access` ( `role_id` smallint(6) unsigned NOT NULL, `node_id` smallint(6) unsigned NOT NULL, `level` tinyint(1) NOT NULL, `module` varchar(50) DEFAULT NULL, KEY `groupId` (`role_id`), KEY `nodeId` (`node_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `think_node` ( `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `title` varchar(50) DEFAULT NULL, `status` tinyint(1) DEFAULT '0', `remark` varchar(255) DEFAULT NULL, `sort` smallint(6) unsigned DEFAULT NULL, `pid` smallint(6) unsigned NOT NULL, `level` tinyint(1) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `level` (`level`), KEY `pid` (`pid`), KEY `status` (`status`), KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `think_role` ( `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `pid` smallint(6) DEFAULT NULL, `status` tinyint(1) unsigned DEFAULT NULL, `remark` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), KEY `pid` (`pid`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; CREATE TABLE IF NOT EXISTS `think_role_user` ( `role_id` mediumint(9) unsigned DEFAULT NULL, `user_id` char(32) DEFAULT NULL, KEY `group_id` (`role_id`), KEY `user_id` (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
其中
think_node为项目节点表,包含项目中的所有项目,控制器,操作节点,
其中项目或是项目分组的level字段为1,控制器的level为2,操作的level为3。
think_role为权限等级分组,如有超级管理员,高级会员,新手等等信息。
think_role_user将会员和等级分组关联起来。
think_access将会员等级和操作节点关联起来。
示例中的配置项:
// USER_AUTH_ON 是否需要认证 // USER_AUTH_TYPE 认证类型 // USER_AUTH_KEY 认证识别号 // REQUIRE_AUTH_MODULE 需要认证模块 // NOT_AUTH_MODULE 无需认证模块 // USER_AUTH_GATEWAY 认证网关 // RBAC_DB_DSN 数据库连接DSN // RBAC_ROLE_TABLE 角色表名称 // RBAC_USER_TABLE 用户表名称 // RBAC_ACCESS_TABLE 权限表名称 // RBAC_NODE_TABLE 节点表名称
其中,
RBAC_USER_TABLE并不是会员信息表think_user,而应该时think_role_user。
USER_AUTH_KEY的配置是在登陆成功后必须要设置的session值,如
'USER_AUTH_KEY'=>'authId'
那么在登陆成功后必须设置
$_SESSION['authId']=$id;
我也理解不深,以后再加吧
相关文章推荐
- thinkphp RBAC使用说明
- ThinkPHP3.1.3安装rbac示例使用中出现的一些错误
- 快速使用 Thinkphp 之三: 用easyUI搭建Rbac界面
- ThinkPHP分组模式下使用RBAC的方法
- 史上最简单的RBAC使用说明!!! thinkphp
- thinkPHP中关于RBAC使用详解
- 使用ThinkPHP的Auth认证类进行权限认证,比RBAC方式更好
- Thinkphp中的RBAC使用详解
- 史上最简单的RBAC使用说明!!! thinkphp
- thinkphp RBAC使用说明BY holy(写的很清晰)
- thinkphp3.2.2使用rbac
- ThinkPHP中关于RBAC使用详解
- 对使用C#.Net的一些感想
- ThinkPHP--RBAC展示权限列表信息-权限维护
- ThinkPHP的ajaxReturn方法的使用
- thinkphp框架中session的使用
- 关于如何使用thinkphp自带的分页功能
- Ueditor 1.4.3.1 使用 ThinkPHP 3.2.3 的上传类进行图片上传
- thinkphp导出Excel方法,可以使用
- 使用xdebug分析thinkphp框架函数调用图