0
点赞
收藏
分享

微信扫一扫

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

_阿瑶 2023-03-04 阅读 98


主要用到的表

AbpUsers

AbpRoles

AbpUserRoles

AbpPermissions

目的:

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

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

创建User的时候有一个

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

给User绑定Roles

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

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

例如我页面有 这三个按钮,对应后面三个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 文件:

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

 

初始化创建菜单时:

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

举报

相关推荐

0 条评论