码迷,mamicode.com
首页 > 其他好文 > 详细

实现ABP中Person类的权限功能

时间:2016-08-17 01:28:33      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:

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

首先测试接口是否正常

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

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

        技术分享

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

那么我们先来测试下

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

技术分享

提示说我们未登陆。

那我们登录后再试试

技术分享

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

技术分享

权限说明

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

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

技术分享

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

添加权限

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

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

初始化权限信息

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

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

添加上面的代码到 permissions中

技术分享

然后再次执行update-database。

我们运行项目然后登陆。

技术分享

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

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

实现ABP中Person类的权限功能

标签:

原文地址:http://www.cnblogs.com/wer-ltm/p/5778326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!