简单总结一下通过Abp Permission 配置菜单权限,并且Api进行权限管理

64 篇文章 0 订阅

主要用到的表

AbpUsers

AbpRoles

AbpUserRoles

AbpPermissions

目的:

用户只能看到当前角色下能看到的菜单,并且不能访问到后台Api

我是给菜单加权限,自己又加了个MenusPermissions

创建User的时候有一个


                CheckErrors(await _userManager.SetRolesAsync(user, input.RoleNames));

给User绑定Roles

然后 角色和权限有关联,角色和菜单建个中间表,这样用户 菜单 就能对应好了

例如我页面有 这三个按钮,对应后面三个Api接口,首先第一层,我可以通过后台返回的菜单不显示这些按钮,但万一有特殊情况,登录人看到了这些按钮,进行了操作。这时候在后台Api 使用 AbpAuthorize 特性,例如:

   [AbpAuthorize(PermissionNames.Button_Basic_Information_Equipment_Accessory_Model_New)]
        public override async Task<DeviceAccessoryModelDto> CreateAsync(CreateDeviceAccessoryModelInput input)
        {
            await _dictionaryManager.CheckDictItemBelongToDictionary(input.DeviceAccessoryTypeId, DataDictionary.DeviceAccessoryType);
            await _dictionaryManager.CheckDictItemBelongToDictionary(input.UomId, DataDictionary.Uom);

            await _accessoryModelManager.CheckdeviceAccessoryModelNameDuplicateAsync(input.Name, null);
            return await base.CreateAsync(input);
        }

这样没有权限的人就会报401

PermissionNames 文件:

 

初始化创建菜单时:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值