fastadmin给操作按钮添加权限菜单控制|新增权限控制菜单

该文详细描述了如何在系统中添加权限控制,包括在控制器中添加代码限制管理员操作,更新HTML和JS文件以实现功能按钮的显示,编辑公共JS文件以处理URL,以及在数据库中添加权限节点并分配给角色组,确保只有特定用户能看到和使用编辑工作信息的按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在对应的控制器文件中,添加如下代码:

$adminIds = $this->getDataLimitAdminIds();
if (is_array($adminIds)) {
    if (!in_array($row[$this->dataLimitField], $adminIds)) {
        $this->error(__('You have no permission'));
    }
}

2、在对应的index.html文件中,添加如下代码:

data-operate-edit_job="{:$auth->check('user/user/edit_job')}"

 3、在对应的js文件中,添加如下代码:

edit_job_url: 'user/user/edit_job',

 

{
    name: 'edit_job',
    text: __('Job'),
    icon: 'fa fa-eye',
    classname: 'btn btn-info btn-xs btn-edit_job',
    url: 'user/user/edit_job'
},

 

edit_job: function () {
    Controller.api.bindevent();
},

4、在 public/assets/js/require-table.js 文件中,编辑如下:

edit_job_url: '',

 在 图标库 里,找到相对应的图标,

 

edit_job: {
    name: 'edit_job',
    icon: 'fa fa-user-circle',
    title: __('编辑工作信息'),
    extend: 'data-toggle="tooltip"',
    classname: 'btn btn-info btn-xs btn-edit_job'
}

 在批量操作请求,修改 url 的三目运算符,将原来的 var url = typeof data.url 注释掉,替换成如下代码:

// var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url : options.extend.multi_url);

var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url :(action == "edit_job" ? options.extend.edit_job_url:(action == "edit_job" ? options.extend.cancel_url:options.extend.multi_url)));

 在单元格事件中,添加如下代码:

'click .btn-edit_job': function (e, value, row, index) {
	e.stopPropagation();
	e.preventDefault();
	var that = this;
	var table = $(this).closest('table');
	var options = table.bootstrapTable('getOptions');
	var ids = row[options.pk];
	row = $.extend({}, row ? row : {}, {ids: ids});
	var url = options.extend.edit_job_url;
	Fast.api.open(Table.api.replaceurl(url, row, table), $(this).data("original-title") || $(this).attr("title") || __('编辑工作信息'), $(this).data() || {});
},

 

if (options.extend.edit_job_url !== '' && names.indexOf('edit_job') === -1) {
    buttons.push(Table.button.edit_job);
}

5、用数据库工具Navicat打开权限节点表表 fa_auth_rule,新增一条记录。

6、在后台,权限管理--角色组,给对应的角色组勾选此条记录,即可看到对应的按钮,否则按钮则不可见。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值