实现ABP中Person类的权限功能

时间:2022-09-05 09:33:12

菜单项的显示功能已经完全OK了。那么我们就开始制作视图功能吧。

首先测试接口是否正常

我们通过代码生成器将权限和application中大部分功能已经实现了。那么我们来测试下这些接口ok不。

浏览/apis/index来进入swaggerui文档。

实现ABP中Person类的权限功能

以上都是代码生成器生成的接口功能。

那么我们先来测试下

/api/services/app/person/GetPagedPersonsAsync 接口, 根据查询条件获取联系人分页列表

实现ABP中Person类的权限功能

提示说我们未登陆。

那我们登录后再试试

实现ABP中Person类的权限功能

登录后,再次实行查询语句,提示我们没有person.person权限。

实现ABP中Person类的权限功能

权限说明

Required permissions are not granted. At least one of these permissions must be granted: Persons.Person

提示必须要有这个权限,那么我们看看我们的代码是怎么实现的

实现ABP中Person类的权限功能

也就是说此处了权限判断,我们没有访问这个类的权限。那么我们怎么办呢。

添加权限

一个是添加权限功能。那么问题来了我们都没有实现权限页面功能,怎么添加呢。

我这里采用最简单的方法来实现,就是删库。让我们在初始化admin的时候就将权限赋予给他。有了思路我们就来实现他。

初始化权限信息

打开EntityFramework类库,找到HostRoleAndUserCreator和TenantRoleAndUserBuilder两个类文件

var personPermissions =
PermissionFinder.GetAllPermissions(new PersonAppAuthorizationProvider()).ToList();
permissions.AddRange(personPermissions);

添加上面的代码到 permissions中

实现ABP中Person类的权限功能

然后再次执行update-database。

我们运行项目然后登陆。

实现ABP中Person类的权限功能

执行的结果就是成功了的。这个时候你就可以在接口中实现下crud的功能了。

到目前为止整体的crud功能就算是完成了。下一步就是实现他视图功能了。

如果你觉得本文章对你有帮助,可以对我打赏哦。屏幕右方

群里可以下载源代码

交流QQ群:实现ABP中Person类的权限功能

如此。The End

-返回目录-  ABP打造一个《电话簿项目》

实现ABP中Person类的权限功能的更多相关文章

  1. 结合ABP源码实现邮件发送功能

    1. 前言 2. 实现过程 1. 代码图(重) 2.具体实现 2.1 定义AppSettingNames及AppSettingProvider 2.2 EmailSenderConfiguration ...

  2. 在Abp中集成Swagger UI功能

    在Abp中集成Swagger UI功能 1.安装Swashbuckle.Core包 通过NuGet将Swashbuckle.Core包安装到WebApi项目(或Web项目)中. 2.为WebApi方法 ...

  3. 本图片处理类功能非常之强大可以实现几乎所有WEB开发中对图像的处理功能都集成了,包括有缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等功能

    import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  4. Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能

    Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能. 下面是个例子: import org.junit.Test; import java. ...

  5. C# 中一些类关系的判定方法 C#中关于增强类功能的几种方式 Asp.Net Core 轻松学-多线程之取消令牌

    1.  IsAssignableFrom实例方法 判断一个类或者接口是否继承自另一个指定的类或者接口. public interface IAnimal { } public interface ID ...

  6. Java中 IO类 - File类中的判断功能

    package com.hxzy.IOSer;import java.io.*;public class Demo05 { public static void main(String[] args) ...

  7. 009——VUE中watch监听属性变化实现类百度搜索栏功能

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. C&num;中增量类功能的方式之 继承与扩展

    之前一次公司培训的时候,将它记录下来,https://www.cnblogs.com/AlvinLee/p/10180536.html这个博客上面比较全面. 1.扩展方法 扩展方法是一种特殊的静态方法 ...

  9. ABP中的Filter(上)

    这个部分我打算用上下两个部分来将整个结构来讲完,在我们读ABP中的代码之后我们一直有一个疑问?在ABP中为什么要定义Interceptor和Filter,甚至这两者之间我们都能找到一些对应关系,比如: ...

随机推荐

  1. 原生JS下拉加载插件分享。

    无聊写了一个JS下拉加载插件,有需要的可以下载. // 使用 // new ManDownLoad("#ul","json/load.json",functio ...

  2. Mysql 数据库之常用命令&lbrack;更新中&period;&period;&period;&rsqb;

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 例如:create database jtest; 显示所有数据库: s ...

  3. 系统间通信(10)——RPC的基本概念

    1.概述 经过了详细的信息格式.网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热.从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的讲解:RPC.在后续的几篇文章中,我们首先讲解R ...

  4. Hibernate实体类注解

    常用的hibernate annotation标签如下: @Entity --注释声明该类为持久类.将一个Javabean类声明为一 个实体的数据库表映射类,最好实现序列化.此时,默认情况下,所有的类 ...

  5. iso中自动伸缩属性

    一.自动伸缩属性 UIViewAutoresizingNone                 不伸缩 UIViewAutoresizingFlexibleLeftMargin   跟父控件左边的距离 ...

  6. linux上很方便的上传下载文件工具rz和sz

    linux上很方便的上传下载文件工具rz和sz(本文适合linux入门的朋友) ##########################################################&l ...

  7. &lbrack;HTML&rsqb;marquee标签属性详解

    请大家先看下面这段代码:<marquee direction=upbehavior=scrollloop=3scrollamount=1 scrolldelay=10align=topbgcol ...

  8. HDU 5869 Different GCD Subarray Query

    离线操作,树状数组,$RMQ$. 这个题的本质和$HDU$ $3333$是一样的,$HDU$ $3333$要求计算区间内不同的数字有几个. 这题稍微变了一下,相当于原来扫描到$i$的之后是更新$a[i ...

  9. Java的selenium代码随笔(2)

    import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;import java.awt.datatrans ...

  10. 【redis】redis常用命令及操作记录

    redis-cli是Redis命令行界面,可以向Redis发送命令,并直接从终端读取服务器发送的回复. 它有两种主要模式:一种交互模式,其中有一个REPL(read eval print loop), ...