1.在数据库中创建相应的表
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for think_access -- ---------------------------- CREATE TABLE `think_access` ( `role_id` smallint(6) unsigned NOT NULL, `node_id` smallint(6) unsigned NOT NULL, `level` tinyint(1) NOT NULL, `pid` smallint(6) NOT NULL, `module` varchar(50) DEFAULT NULL, KEY `groupId` (`role_id`), KEY `nodeId` (`node_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for think_node -- ---------------------------- CREATE TABLE `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, `type` tinyint(1) NOT NULL DEFAULT '0', `group_id` tinyint(3) unsigned DEFAULT '0', PRIMARY KEY (`id`), KEY `level` (`level`), KEY `pid` (`pid`), KEY `status` (`status`), KEY `name` (`name`) ) ENGINE=MyISAM AUTO_INCREMENT=83 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for think_role -- ---------------------------- CREATE TABLE `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, `ename` varchar(5) DEFAULT NULL, `create_time` int(11) unsigned NOT NULL, `update_time` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `parentId` (`pid`), KEY `ename` (`ename`), KEY `status` (`status`) ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for think_role_user -- ---------------------------- CREATE TABLE `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; -- ---------------------------- -- Table structure for think_user -- ---------------------------- CREATE TABLE `think_user` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `account` varchar(64) NOT NULL, `nickname` varchar(50) NOT NULL, `password` char(32) NOT NULL, `bind_account` varchar(50) NOT NULL, `last_login_time` int(11) unsigned DEFAULT '0', `last_login_ip` varchar(40) DEFAULT NULL, `login_count` mediumint(8) unsigned DEFAULT '0', `verify` varchar(32) DEFAULT NULL, `email` varchar(50) NOT NULL, `remark` varchar(255) NOT NULL, `create_time` int(11) unsigned NOT NULL, `update_time` int(11) unsigned NOT NULL, `status` tinyint(1) DEFAULT '0', `type_id` tinyint(2) unsigned DEFAULT '0', `info` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `account` (`account`) ) ENGINE=MyISAM AUTO_INCREMENT=35 DEFAULT CHARSET=utf8;
//(在RBAC.class.php文件里也可以找到上面的SQL语句)
2.config.php文件配置
return array( //'配置项'=>'配置值' //RBAC配置增加设置 'USER_AUTH_MODEL' =>'Users', 'USER_AUTH_ON' =>true, //是否需要认证 'USER_AUTH_TYPE' =>'2', //认证类型:1为登录模式,2为实时模式 'USER_AUTH_KEY' =>'uid', //认证识别号(SEESION的用户ID名) 'ADMIN_AUTH_KEY' =>'admin', //管理员SEESION 'REQUIRE_AUTH_MODULE' =>'', //需要认证模块(模块名之间用短号分开) 'NOT_AUTH_MODULE' =>'', //无需认证模块(模块名之间用短号分开) 'REQUIRE_AUTH_ACTION' =>'', //需要认证方法(方法名之间用短号分开) 'NOT_AUTH_ACTION' =>'login,checkLogin', //无需认证方法(方法名之间用短号分开) 'USER_AUTH_GATEWAY' =>'', //认证网关 'RBAC_USER_TABLE' =>'think_role_user', //用户角色明细表 'RBAC_ROLE_TABLE' =>'think_role', //角色表 'RBAC_ACCESS_TABLE' =>'think_access', //权限表 'RBAC_NODE_TABLE' =>'think_node', //节点表 );
3.创建一个公共控制器类CommonAction
class CommonAction extends Action{ function _initialize(){ header("Content-Type:text/html; charset=utf8"); import("@.ORG.RBAC"); if(!RBAC::AccessDecision()){ echo "没有权限"; } } }
写到这里其实RBAC基本功能已经出来了,大家可以测试一下,下面我们来进行一些更加详细的设置
本文向大家介绍C#学习笔记——基本语法,包括了C#学习笔记——基本语法的使用技巧和注意事项,需要的朋友参考一下 基本语法 C#,又名Csharp,天朝喜欢叫C井。 C#是一种面向对象的编程语言。在面向对象的程序设计方法中,程序有各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在先沟通那个的class中。 例如,以Rectangle(矩形)对象为例,它具有length和width
本文向大家介绍mysql学习笔记之表的基本操作,包括了mysql学习笔记之表的基本操作的使用技巧和注意事项,需要的朋友参考一下 创建表 create table 表名 create table if not exists 表名 显示当前库下的所有表 show tables; 查看表的结构 describe 表名 简写 desc 表名 查看表的详细 show create table 表名 删除表
本文向大家介绍Java的基础语法学习笔记,包括了Java的基础语法学习笔记的使用技巧和注意事项,需要的朋友参考一下 零、Java的关键字 用于类和接口的声明:class, extends, implements, interface 包引入和包声明:import, package 数据类型:boolean, byte, char, short, int, long, float, double 某
本文向大家介绍TypeScript 学习笔记之基本类型,包括了TypeScript 学习笔记之基本类型的使用技巧和注意事项,需要的朋友参考一下 在 TypeScript 中一共有 7 种基本类型。 1、boolean 2、number 代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。 3、string 代表字符串。跟 J
本文向大家介绍thinkphp学习笔记之多表查询,包括了thinkphp学习笔记之多表查询的使用技巧和注意事项,需要的朋友参考一下 在操作过程中,两表查询都没有问题,但是三表查询就开始出现问题 有以下三张表,分表为pl表(uid,content),user表(id,username),lyb表(uid,title) 多表查询操作有以下几种方法: ㈠视图模型(推荐) 定义视图模型,只需要继承Thin
本文向大家介绍MySQL中的基本查询语句学习笔记,包括了MySQL中的基本查询语句学习笔记的使用技巧和注意事项,需要的朋友参考一下 1.基本查询语句 select 属性列表 from 表名和视图列表 [where 条件表达式1] [group by 属性名1 [having 条件表达式2]] [order by 属性名2 [asc|desc]] 2.单表查询 1)使用*查询所有字段 2) 查询指定
awk 是一种编程语言,用于在 linux/unix 下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。