搜索
系统检测到您的用户名不符合规范:

不用类,三张表,几行代码搞定权限分配

浏览:4027 发布日期:2013年09月02日 分类:功能实现
不用类,三张表,几行代码搞定权限分配
用户表CREATE TABLE IF NOT EXISTS `zycms_user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`ncname` varchar(20) NOT NULL,
`password` char(32) NOT NULL,
`role` smallint(6) unsigned NOT NULL COMMENT '组ID',
`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态 1:启用 0:禁止',
`remark` varchar(255) DEFAULT NULL COMMENT '备注说明',
`last_login_time` int(11) unsigned NOT NULL COMMENT '最后登录时间',
`last_login_ip` varchar(15) DEFAULT NULL COMMENT '最后登录IP',
`last_location` varchar(100) DEFAULT NULL COMMENT '最后登录位置',
PRIMARY KEY (`id`),
KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户表' AUTO_INCREMENT=29 ;
用户组表CREATE TABLE IF NOT EXISTS `zycms_role` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`rolename` varchar(20) NOT NULL COMMENT '后台组名',
`roleid` smallint(6) unsigned NOT NULL DEFAULT '0' COMMENT '父ID',
`status` tinyint(1) unsigned DEFAULT '0' COMMENT '是否激活 1:是 0:否',
`sort` smallint(6) unsigned NOT NULL DEFAULT '0' COMMENT '排序权重',
`remark` varchar(255) DEFAULT NULL COMMENT '备注说明',
`rules` text NOT NULL,
PRIMARY KEY (`id`),
KEY `pid` (`roleid`),
KEY `status` (`status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
节点表CREATE TABLE IF NOT EXISTS `zycms_menu` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`name` char(40) NOT NULL DEFAULT '',
`pid` smallint(6) NOT NULL DEFAULT '0',
`m` char(20) NOT NULL DEFAULT '',
`c` char(20) NOT NULL DEFAULT '',
`ac` char(20) NOT NULL,
`data` char(100) NOT NULL DEFAULT '',
`listorder` smallint(6) unsigned NOT NULL DEFAULT '0',
`isdisplay` enum('1','0') NOT NULL DEFAULT '1',
`path` text NOT NULL,
`tb` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `listorder` (`listorder`),
KEY `parentid` (`pid`),
KEY `module` (`m`,`c`,`ac`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=41 ;
功能实现:$rs=M('role')->where("id='{$_SESSION['roleid']}'")->find();

$rules=explode(',', $rs['rules']);
$thisaction=M('menu')->where("m='".GROUP_NAME."' and c='".MODULE_NAME."' and ac='".ACTION_NAME."'")->find();

if(!in_array($thisaction['id'], $rules))

$this->error('你无权访问');



栏目权限分配与此类似
收藏
wm168
积分:1548 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /