导航
应用开发首页
系统使用
插件使用
米拓商城
模板制作
应用开发
系统开发
http://doc.metinfo.cn/yy/
1
应用开发首页
6.开发规范
6.3.权限控制
更新时间:2020-01-19 15:26:53
作者:米拓建站
# 权限控制 本文档主要说明前台的会员权限和后台的管理员权限如何管理,并怎样通过代码来实现限制前台某个模块只允许某个会员组管理?增加限制只有添加权限的管理才能添加内容?等等,这些都涉及到权限设置的原理与技巧。 ### 前台权限管理 前台权限控制主要是控制会员对页面访问权限。比方说做一个客房预订系统,要求只能会员看到。可以使用前台基类的[check()](http://help.metinfo.cn/gnclass/shownews.php?lang=cn&id=199 "check()")方法来控制前台会员的访问权限。 如果这个应用的所有页面都需要会员权限来访问,可以把chcek()方法写到模块的初始化方法中,如下: public function __construct() { parent::__construct();//一定要调用父类的初始化函数 $this->check('1'); } 如果这个应用的某个页面都需要会员权限来访问,只需要把chcek()方法写到此方法中,如下: public function doindex(){//定义自己的方法 global $_M; $this->check('0'); require $this->custom_template('own/index', 1); } check()方法,参数为会员组的ID,只有当会员的所属会员组的权限高于check()方法设定的会员组,这个会员才可以正常访问这个页面。参数为0的时候表示只要是会员即可,任何会员组都可以。 ### 后台权限管理 后台权限控制主要包括管理员对某个功能的访问,修改,删除,新增,完全控制这几个权限。访问权限只要应用在met_applist表中注册过,后台管理员权限管理的地方就可以由用户控制了。修改,删除,新增,完全控制这四个权限,主要是通过类的方法名称来控制的。具体如下: **add:**方法名称中带有add,则只有有新增管理权限的管理员才可以执行这个方法。 **editor**:方法名称中带有editor,则只有有编辑管理权限的管理员才可以执行这个方法。 ** del:**方法名称中带有del,则只有有删除管理权限的管理员才可以执行这个方法。 **all:**方法名称中带有all,则只有有完全控制管理权限的管理员才可以执行这个方法。 类似下面代码: defined('IN_MET') or exit('No permission');//所有文件都是已这句话开头,保证系统但入口。 load::sys_class('admin');//包含后台基类,如果是前台包含web.class.php。 class yingyongadmin extends admin {//继承后台基类。 public function __construct() { parent::__construct();//一定要调用父类的初始化函数 } public function doindex() {//有访问即可执行 global $_M; require $this->template('own/show'); } public function doaddinfo() {//有新增即可执行 } public function doinfodel() {//有删除即可执行 } public function domyeditorinfo() {//有编辑即可执行 } public function doallpower() {//有完全控制即可执行 } } **table:**方法名中带有table,此方法只适用于MetInfo应用框架提供的表格控件,在同一个类的方法中,如果使用MetInfo应用框架提供的表格控件,可能在一个方法中包含了添加,删除,修改等多个操作。所以需要在这个类中使用其他方式在判断权限。有以下几点需要注意: 1.表格的提交地址中,参数a中包含table。 2.表格的submit必须是一个用于保存数据的按钮(新增的数据也是用保存按钮保存),其name要包含save。一个用于删除的按钮,其name要包含del。 3.快速新增的数据,其id字段,要包含new-。即在allid中要是"1,23,new-1"的形式。
上一篇
: 6.1.新建数据库表
下一篇
: 6.4.应用打包
文档中心
米拓学堂
帮助中心
在线交流