您好,欢迎访问全国教育考试教材网
商品分类

.NET云原生架构师训练营(权限系统系统演示EntityAccess)

EntityAccess

实体权限属性权限

实体权限

创建学生

https://localhost:7018/学生/dotnetnb2

获取学生

https://localhost:7018/学生

保护学生权限,创建实体权限。创建为true,删除和更新为false。

https://localhost:7018/权限/实体参数

{ ‘key’: ‘student-entity-create’, ‘group’: ‘ApplicationDbContext’, ‘displayName’: ‘student-entity-create’, ‘description’: ‘新权限’, ‘resources’: [ ‘DotNetNB . WebApplication.Models.Student’], ‘数据’: { ‘entityName’: ‘DotNetNB.WebApplication.Models.Student’, ‘创建’: true, ‘删除’: false, ‘members’: [ { ‘memberName’: ‘年龄’, ‘更新’: false } ] }}

创建完成后,获取权限,可以看到创建的学生实体创建的权限。

https://localhost:7018/权限

创建权限后,再创建student,会抛出AuthenticationException,无法认证。

https://localhost:7018/学生/dotnetnb2

这是Intersect在SavingChangesAsync时通过dbcontext实现的,因为访问接口时不带token。

if (!createPermission.Intersect(claimValues).Any()) throw new AuthorizationException();获取令牌

https://localhost:7018/身份验证/登录

然后将token放在学生请求的header后面,会抛出AuthorizationException,表示未授权。

https://localhost:7018/学生/dotnetnb2

表示登录成功,认证完成,但是没有相关权限,因为token中不包含student-entity-create的权限。

.NET云原生架构师训练营(权限系统系统演示EntityAccess)

给用户添加权限。由于admin用户具有admin角色,因此只需为admin角色添加权限即可。

https://localhost:7018/权限/addtorole?角色=adminpermission=学生实体创建

添加权限后,需要重新获取token。

https://localhost:7018/身份验证/登录

解析token,可以看到包含student-entity-create的权限

使用这个token创建学生,创建就会成功。

https://localhost:7018/学生/dotnetnb2

获取所有同学,可以看到多了一个dotnetnb2

https://localhost:7018/学生

但是这个token并没有赋予delete权限,所以delete会抛出AuthorizationException,没有被授权。

https://localhost:7018/学生/dotnetnb2

因为之前的权限中的delete是false

‘delete’: false,您需要添加另一个包含删除权限的权限:student-entity-create-and-delete

https://localhost:7018/权限/实体参数

{ ‘key’: ‘student-entity-create-and-delete’, ‘group’: ‘ApplicationDbContext’, ‘displayName’: ‘student-entity-create-and-delete’, ‘description’: ‘添加删除权限’ , ‘资源’: [ ‘DotNetNB.WebApplication.Models.Student’ ], ‘数据’: { ‘entityName’: ‘DotNetNB.WebApplication.Models.Student’, ‘创建’: true, ‘删除’: true, ‘ 成员’: [ { ‘memberName’: ‘年龄’, ‘update’: false } ] }}

创建完成后,获取权限。您可以看到学生实体创建和删除的权限。

https://localhost:7018/权限

直接将该权限授予用户admin

https://localhost:7018/权限/addtouser?用户名=adminpermission=学生实体创建和删除

.NET云原生架构师训练营(权限系统系统演示EntityAccess)

再次获取令牌

https://localhost:7018/身份验证/登录

解析令牌并查看它包含student-entity-create-and-delete

使用此令牌成功删除学生

https://localhost:7018/学生/dotnetnb2

获取student,可以发现dotnetnb2已经删除成功

https://localhost:7018/学生

属性权限

调用接口修改student年龄属性会抛出AuthenticationException,未通过认证。

https://localhost:7018/学生/addAge/dotnetnb

登录后使用token请求会抛出AuthorizationException,未授权。

https://localhost:7018/学生/addAge/dotnetnb

因为之前添加的权限无法在age属性上修改

‘members’: [ { ‘memberName’: ‘Age’, ‘update’: false } 需要添加可以修改年龄属性的权限

https://localhost:7018/权限/实体参数

{ ‘key’: ‘student-entity-all’, ‘group’: ‘ApplicationDbContext’, ‘displayName’: ‘student-entity-all’, ‘description’: ‘所有权限’, ‘resources’: [ ‘DotNetNB. WebApplication.Models.Student’],’数据’: {‘entityName’:’DotNetNB.WebApplication.Models.Student’,’创建’: true,’删除’: true,’members’: [{‘memberName’:’年龄’, ‘更新’: true } ] }}

给admin分配权限,重新获取token,然后调用接口修改student的年龄属性

https://localhost:7018/学生/addAge/dotnetnb

修改成功后,再次获取学生。可以看到dotnetnb的age由0变为1,说明修改成功。

用户评论


铁树不曾开花

这.NET云原生架构师训练营听起来好高级啊,特别是权限系统演示,感觉能学到很多实用的东西。

    有5位网友表示赞同!


旧事酒浓

权限系统演示这部分,能详细讲讲EntityAccess的具体用法吗?我正好在项目中需要用到。

    有9位网友表示赞同!


来瓶年的冰泉

我之前参加过类似的培训,但EntityAccess这部分没接触过,希望能在这个训练营里学到。

    有14位网友表示赞同!


素颜倾城

权限系统演示真的很重要,我现在负责的项目权限管理一团糟,这个训练营应该能帮我解决大问题。

    有6位网友表示赞同!


何年何念

标题里提到的EntityAccess,我有点好奇它是如何实现权限控制的,期待看到详细讲解。

    有19位网友表示赞同!


凝残月

训练营里的权限系统演示,如果能结合实际案例来讲解,那就更好了。

    有11位网友表示赞同!


我要变勇敢℅℅

看了这个标题,我立刻想到了我们公司的权限管理问题,希望训练营能提供一些解决方案。

    有12位网友表示赞同!


非想

权限系统演示这部分,希望能有实战演练,这样更能加深理解和记忆。

    有13位网友表示赞同!


哥帅但不是蟋蟀

我有点担心训练营的难度,毕竟云原生架构师不是那么容易就能成为的。

    有8位网友表示赞同!


陌上花

EntityAccess听起来很有技术含量,我希望能通过这个训练营提升自己的技术水平。

    有20位网友表示赞同!


清原

权限系统演示如果是通过视频教程,我就能随时学习了,这样更方便。

    有19位网友表示赞同!


长裙绿衣

我对.NET云原生架构师训练营很感兴趣,但是价格有点贵,预算有限啊。

    有16位网友表示赞同!


花开丶若相惜

权限系统演示这部分,如果能提供一些常见问题的解决方案,那就更完美了。

    有18位网友表示赞同!


在哪跌倒こ就在哪躺下

我之前在项目中遇到过权限控制的难题,希望这次训练营能给我带来一些启发。

    有13位网友表示赞同!


仰望幸福

EntityAccess听起来很强大,如果能详细讲解它的安全机制就更好了。

    有5位网友表示赞同!


花菲

权限系统演示这部分,希望能有代码示例,这样更容易上手。

    有6位网友表示赞同!


枫无痕

训练营的权限系统演示如果能有互动环节,那就更棒了,可以及时解决疑问。

    有6位网友表示赞同!


生命一旅程

我期待着.NET云原生架构师训练营的开课,希望能在权限系统演示中有所收获。

    有18位网友表示赞同!