abp方法权限

一.自定义一个权限实体,也可以直接用abp的PermissionNames类

 二.重写PermissionChecker中的IsGrantedAsync方法

public override async Task<bool> IsGrantedAsync(string permissionName)
        {
            var dd = permissionName;
            var flag = false;
            if (AbpSession.UserId.HasValue)
            {
                var ddd = _permissionRoleRepository.GetAllList();
                if (_permissionRoleRepository.GetAllList(c => c.UserId == AbpSession.UserId && c.Name == permissionName).Count() > 0)
                {
                    flag = true;
                }
            }
            return flag;
        }

我这里用到的用户角色表是自己定义的permissionRole表,在这个表中查找这个用户是否有这个权限。

三.在方法的上面加上

 [AbpAuthorize(PermissionNames.Pages)]

这里赋予这个方法的权限是具有pages,如果没有会报错415,没有权限

猜你喜欢

转载自www.cnblogs.com/liguix/p/11913159.html
ABP