判断是否是超管
is_admin();
判断是否是管理员
is_admin_login();
管理员权限
添加权限:
url参数存在时,在后台会多出一个菜单,名称为 合同,30是排序数字,越大越在顶部显示。
add_admin_access('合同.scrm',[
'查看.view',
'编辑.edit',
'管理.admin',
'url'=>'scrm/contract/index'
],30);
判断权限
if(!admin_access('contract.view')){
return json_error(['msg'=>'权限不够']);
}
判断运营人员可访问管理员接口
管理员权限同步给运营
//管理员权限赋给运营人员
admin_access_to_yunyin([
'replenish',
]);
//权限判断
add_admin_access('缺货补货.replenish',[
'查看.view',
'编辑.edit',
'管理.admin',
'url'=>'selling_machine/replenish'
],100);
//控制器
if(!admin_access('replenish.admin')){
throw new \Exception("权限不够", 403);
}
部分演示页面
管理员
点击编辑效果
点击权限效果:
选择操作权限用户就会有对应的权限,查看权限决定后台菜单是否显示,未配置菜单url菜单的情况下,无论选择 查看 编辑 管理权限都不会在菜单显示,但权限依然会有效果。
点击安全登录:
安全登录使用的是Google Authenticator安全码方式登录,这将使用后台更加安全。
在扫码后点击保存,退出后再登录。
登录页面
/admin/login
安全码此时就会判断是否正确,如果没有配置帐号对应的安全登录将无需输入安全码。
门店
依赖 a_shop_store
登录网址 /a_shop_store/login
权限
add_store_access('收银.pos_order',[
'查看.view',
'编辑.edit',
'管理.admin',
'url'=>'webpos/home'
],1);
add_action("controller.base",function(){
if(get_webpos_type() == 'shop'){
add_store_access('收银.pos_order',[
'查看.view',
'编辑.edit',
'管理.admin',
'url'=>'webpos/home'
],1);
} else {
add_admin_access('收银.pos_order',[
'查看.view',
'编辑.edit',
'管理.admin',
'url'=>'webpos/home'
],40);
}
});
控制器
namespace app\webpos\controller;
use app\AdminWithController;
use hg\apidoc\annotation as Apidoc;
/**
* @Apidoc\Title("API pos订单")
*/
class Order extends AdminWithController
{
public function index(){
if(!$this->admin_access('pos_order.view')){
return json_error(['msg'=>'权限不够']);
}
}
}