一.自定义一个权限实体,也可以直接用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() > )
{
flag = true;
}
}
return flag;
}

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

三.在方法的上面加上

 [AbpAuthorize(PermissionNames.Pages)]

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

abp方法权限的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之18、ABP应用层——权限验证

    点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之18.ABP应用层——权限验证 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目 ...

  2. ABP应用层——权限验证

    ABP应用层——权限验证 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerpla ...

  3. abp 取消权限校验

    在abp中,通过ABP_PERMISSIONS表来存储定义appService中的方法权限校验.设置方式如下: [AbpAuthorize(PermissionNames.Pages_Users)] ...

  4. Abp.vNext 权限备注

    Abp 内部是基于 asp.net core 基于 策略的  授权方式,每个权限为一个策略 权限分为: 1.定义权限(先定义权限组,后添加权限),每个模块都应该创建一个PermissionDefini ...

  5. spring security 方法权限使用

    前面我们讲过了使用<security:intercept-url>配置url的权限访问,下面我们讲解一下基于方法的权限使用默认情况下, Spring Security 并不启用方法级的安全 ...

  6. Spring Cloud实战: 基于Spring Cloud Gateway + vue-element-admin 实现的RBAC权限管理系统,实现网关对RESTful接口方法权限和自定义Vue指令对按钮权限的细粒度控制

    一. 前言 信我的哈,明天过年. 这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT ...

  7. Abp VNext权限定义

    在Shop.Application.Contracts项目中Permissions目录下ShopPermissions定义权限名 namespace Shop.Permissions { public ...

  8. Abp 添加权限项<一>

    1.下载代码,数据库迁移,npm install 2.添加权限项: public static class PermissionNames { public const string Pages_Te ...

  9. abp的权限与导航菜单的关系

    原来以为各是各的,所以就有了第一个版本.Getallmentus.然后注入了role,当然失败了.获取所有的菜单.一直在思考在什么地方设置菜单是否展示呢? 后面看了源码.才发现自己错了. UserNa ...

随机推荐

  1. Microsonf visual c++ 14+ 离线内网安装

    内网离线安装方法:先下载官方的visualcppbuildtools: <br  href=http://go.microsoft.com/fwlink/?LinkId=691126 >& ...

  2. 函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。

    1 char *match( char *s, char ch1, char ch2 ){ ; ; ; while(s[len]){ len++; } *len+];//防止s字符串全满导致t溢出 * ...

  3. mybatis(六):设计模式 - 组合模式

  4. selenium grid的使用

    Selenium grid是用来分布式执行测试用例脚本的工具,比如测试人员经常要测试多浏览器的兼容性,那就可以用到grid了. selenium grid的hub相当于一个接收脚本并分发脚本的角色,n ...

  5. 磁盘分区(1):fdisk和parted

    一.Linux存储管理 关于Linux硬盘的识别: (1)如果是IDE设备,在计算机中将被识别为hd,第一个IDE设备会被识别为hda,第二个IDE设备会被识别为hdb,依此类推. (2)如果是SAT ...

  6. [Python]python中assert和isinstance的用法

    assert语句是一种插入调试断点到程序的一种便捷的方式. assert == assert == True assert ( == ) print('-----------') assert ( = ...

  7. IntelliJ IDEA 2017.3尚硅谷-----设置超过指定 import 个数,改为*

    (可忽略)

  8. bugku 输入密码查看flag

    首先进入网页会看到一个网页 然后用bp进行爆破 首先点击clear 然后选中刚下随便输入进去的密码点击add然后设置一下类型 然后进行开始攻击 攻击过程中点击length 根据长度可以判断出密码然后回 ...

  9. 自定义虚拟机MAC地址 | 它与 VMware 预留的 MAC 冲突 解法

    https://blog.csdn.net/wangrui1573/article/details/82056020 问题:我想给VMware ESXi上的一台虚拟机分配一个静态的MAC地址.然而当我 ...

  10. 素问 - 信贷和GDP

    摘自<小韭的学习圈> Q:近期看到2019年金融统计数据,全年人民币贷款增加16.81万亿元,同比多增6439亿元.这里有个问题我储备好久了,没有高人指点俺.请问2019年全年GDP近10 ...