20150406--RBAC+添加字段栏目
目录
一、模型管理 1
二、栏目管理 5
三、内容管理 7
四、RBAC的普通管理员登陆,。 8
一、模型管理
1、模型列表
(1)在模型的控制器里面添加一个lst方法,用于模型数据的显示,并拷贝对应的静态页面
2、字段管理:
(1)建立一张字段模型表
#该表用于存储模型字段的信息。
create table it_modelfield(
id smallint primary key auto_increment,
model_id tinyint not null comment '模型 的id',
field_ename varchar(32) not null comment '字段的英文名称',
field_cname varchar(32) not null comment '字段的中文名称',
field_type varchar(32) not null comment '字段的类型',
field_value varchar(32) not null comment '字段的默认值'
)engine myisam charset utf8;
(2)新建一个modelfield的控制器,并添加一个lst的方法,并拷贝对应的静态页面。
在modelfield控制器里面的lst方法对应的静态页面中添加一个添加字段的链接。
(3)在modelfield控制器里面添加一个add方法,用于添加该模型的字段信息。
拷贝对应的静态页面,并添加字段信息的表单。
不要忘了添加模型的隐藏域,表示添加的字段信息是哪个模型的。
(4)新建一个modelfield的模型,并完成数据验证
(5)开始添加字段信息入库
(6)使用钩子函数完成字段信息添加到附加表里面完成创建
2、模型 的修改
如果模型对应的附加表名修改了,则也要修改表名
3、模型的删除
如果要模型删除,要删除对应的附加表
4、字段管理(修改)
在字段修改时,要完成it_modelfield表里面信息的修改,还要完成附加表里面字段的修改。
二、栏目管理
和添加权限是一样的。使用无限极分类,在添加栏目的时候要指定当前栏目属于哪个模型。
完成栏目表
create table it_category(
id smallint primary key auto_increment,
cat_name varchar(32) not null comment '栏目的名称',
parent_id smallint not null default 0 comment ' 父级栏目的id',
model_id tinyint not null comment '模型 的id'
)engine myisam charset utf8;
1、添加栏目
(1)新建一个栏目的控制器并添加add方法,并拷贝对应的静态页面。
取出栏目数据和模型数据,
在栏目的模型里面定义了getTree方法用于无限极取出数据
遍历栏目数据
遍历模型数据
(2)在模型里面添加数据验证,并完成栏目的添加
2、栏目的列表
3、栏目删除
在栏目删除的时候,要判断有没有子栏目,如果有则不能删除,或和子栏目一块删除
3、栏目的修改
在栏目修改时,不能把自己的子孙栏目 当成父级栏目。
三、内容管理
根据模型附加表里面的字段生成表单, 添加具体的内容,
思路:根据model_id从it_modelfield表里面取出具体的内容,
字段的中文名称,根据类型生成具体的表单,根据默认值,具体生成单选按钮和复选框和下拉框。
1、新建一个content的控制器,并添加add方法,并拷贝对应的静态页面。
2、在静态页面中把取出的数据给遍历并生成对应的表单
四、RBAC的普通管理员登陆,。
1、根据管理员的权限生成左侧的权限按钮
(1)在管理员的模型中定义一个函数,getMenus根据管理员的权限获取按钮
在index控制器里面left函数中,取出权限按钮,并遍历到静态页面。
2、在管理员登录后,如果要某个操作,则要验证当前登录的管理员是否有权限。
//验证的思路:在执行某个操作时,取出操作的所在控制器的名称,和操作的方法名称。
根据登录的admin_id从it_privilege表里面取出controllername actionname两个字段进行匹配
外连和内连的区别.
class
id class_name
1 a
2 b
3 c
student
id stu_name class_id
1 s1 1
2 s2 2
3 s3 3
4 s4 4
5 s5 1
a.class_id=b.id
列出所有的学生以及学生所在的班级的名称。
SELECT a.*,b.class_name FROM student a LEFT JOIN class b ON a.class_id=b.id(外连)
id stu_name class_id class
1 s1 1 a
2 s2 2 b
3 s3 3 c
4 s4 4 null
5 s5 1 a
SELECT a.*,b.class_name FROM student a,class b WHERE a.class_id=b.id(内连)
id stu_name class_id class
1 s1 1 a
2 s2 2 b
3 s3 3 c
5 s5 1 a
转载于:https://www.cnblogs.com/lifushan/p/5471912.html
20150406--RBAC+添加字段栏目相关推荐
- 织梦文章添加字段填栏目id,内容页调用字段里的栏目文章
在模型里增加个字段,然后在添加文章的时候,在字段里填了栏目id进去 在前台的内容页,调用这个字段栏目的多个文章出来 {dede:field.field1 runphp=yes} global $dsq ...
- oracle添加新字段sql,oracle 构造添加字段的SQL语句
用ORACLE数据库,在其中一个表最后添加了两个字段 1. alter table your_table add (column1 col_type1,clumn2 col_t ...
- MySQL添加字段和修改字段的方法
MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助. 1.登录数据库 >mysql -u root - ...
- mysql数据库怎样添加字段_MySQL添加字段和修改字段的方法
MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助. 1.登录数据库 >mysql -u root - ...
- dede如何给dede_sys_enum添加字段father
这篇文章将为大家详细讲解有关dede如何给dede_sys_enum添加字段father,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获. dede怎么给dede_s ...
- mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)
MySQL 数据表是由行和列构成的,通常把表的"列"称为字段(Field),把表的"行"称为记录(Record).随着业务的变化,可能需要在已有的表中添加新的字 ...
- 帝国cms调用栏目自定义字段(栏目简介)如何操作
开源的cms就像一个操作系统,可以满足大部分人的需求,如果你想增加一些特殊的功能,那就二次开发呗,就像APP一样.帝国cms默认的栏目是没有调用栏目自定义字段的,我们可以增加一些概述类的文字,让读者对 ...
- mysql+不锁表添加字段_MySQL5.6在线DDL不锁表(在线添加字段)
解答你也看一下 MySQL5.6在线DDL不锁表,现在我有一张1亿的表,需要增加一个字段,假如我让你去增加这个字段,你应该注意什么,具体怎么操作? 操作如下: 1.注意磁盘空间(临时表目录 参数 tm ...
- mysql 删除顺序_mysql 添加字段、删除字段、调整字段顺序 转
ALTER TABLE - 更改表属性 添加字段: alter table `user_movement_log` Add column GatewayId int not null default ...
- Mysql 添加字段 修改字段 删除字段
1.表 添加字段(字段类型.长度.默认值.注释) ALTER TABLE 表名 ADD 字段名 字段类型(字段长度) DEFAULT 默认值 COMMENT '注释' 例如:ALTER TABLE o ...
最新文章
- 转录本counts,FPKM,TPM相互转化
- 渣硕 面 用友软件 Java开发
- android 单例存储,Android 单例在内存中存储数据
- NOIP2018提高组比赛总结
- 在Spring MVC Web应用程序中使用reCaptcha
- 九度oj题目1341:艾薇儿的演唱会
- Linux下如何关闭命令行正在执行的程序或命令
- 要么放权,要么输得起 | 卫哲谈战略
- 毕设一:python 爬取苏宁的商品评论
- C:\Program Files (x86)\SogouInput\Components\程序异常结束 ,QT
- 利用在线词典批量查询英语单词
- 整合ecshop与discuz论坛
- TM4C123-JTAG
- HTML中svg的作用,html中的svg可以用来干什么
- 如何使用winrar压缩工具实现:文件打包为自解压EXE类型
- (java)socket全双工长连接通信实例
- ES5和ES6的区别。
- 什么lol云顶之奕小助手小蜜蜂肝不完了?让万能的python来帮你
- TensorRT 命令行程序trtexec常用用法
- LCD液晶驱动芯片VK1625/VK1626可通过指令进人省电模式,附带参考电路图