权限控制就是对某些用户进行一些权限的设置。大部分用于后台管理。
第一步:在Admin模块下创建一个IndexController.class.php,并创建index方法。
退出';
}
}
error('非法用户,正在跳转到登陆页面', U('Login/index'));
}
if ($sess_auth['u_id'] == 1) {
return TRUE;
}
$auth = new Auth();
if (!$auth->check(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME, $sess_auth['u_id'])) {
$this->error('没有权限', U('Login/logout'));
}
}
}
/*
*上面使用的 _initialize()方法的是固定的,由于AuthController.class.php类继承了Controller类,所以第一步中 * 的Index类要继承AuthController类
*
*/
注意:此时当我们访问Index/index时候,可能会出现错误。
DROP TABLE IF EXISTS `think_auth_group`;
CREATE TABLE `think_auth_group` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`title` char(100) NOT NULL DEFAULT '',
`status` tinyint(1) NOT NULL DEFAULT '1',
`rules` char(80) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- think_auth_group_access 用户组明细表
-- uid:用户id,group_id:用户组id
-- ----------------------------
DROP TABLE IF EXISTS `think_auth_group_access`;
CREATE TABLE `think_auth_group_access` (
`uid` mediumint(8) unsigned NOT NULL,
`group_id` mediumint(8) unsigned NOT NULL,
UNIQUE KEY `uid_group_id` (`uid`,`group_id`),
KEY `uid` (`uid`),
KEY `group_id` (`group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
然后打开phpmyadmin。按下图操作进行
第三歩:此时我们访问Index/index的时候。就没有权限了,主要是后面check()验证失败。
在Admin/Controller/下创建一个LoginController.class.php类,这个类继承Controller类。并且在 Admin/View下创建一个Login/index.html文件
index.html文件代码:
后台页面
LoginController.class.php类代码:
error('您输入的用户不存在!');
}
}if (count($login)) {
session('auth', $login);
$this->success('登陆成功', U('Index/index'));
} else {
$this->display();
}
}
public function logout() {
session('[destroy]');
$this->success('退出成功', U('Login/index'));
}
}
最后一步:就是在刚才phpmyadmin中建立的三个表中插入数据:
2.think_auth_group
3.think_auth_group_access