首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ABP入门系列(9)——权限管理

既然涉及到了权限,那我们就细化下任务清单的功能点: 登录的用户才能查看任务清单 用户可以无限创建任务并分配给自己,但只能对自己创建的任务进行查找、修改 管理员可以创建任务并分配给他人 管理员具有删除任务的权限...IsGrantedByDefault:表示该权限是否授予给所有登录的用户,除非该权限显式禁止未授予给用户。该值一般默认为false。...当启用,将跳转至Error视图并显示以下信息。 ?...(PermissionNames.Pages_Tasks_AssignPerson);,IsGranted()方法返回true or false。...2.4、Razor页面如何进行权限检查 视图基类定义了IsGranted方法来检查当前用户是否具有权限。我们可以在_List.cshtml.cs中加入以下代码来控制是否显示删除按钮。

3.6K50

3. SOFAJRaft源码分析— 是如何进行选举的?

第二重校验主要是校验发送请求的任期和接受到响应时的任期还是不是一个,如果不是那么说明已经不是上次那轮的选举了,是一次失效的选举 第三重校验是校验响应返回的任期是不是大于当前的任期,如果大于当前的任期,...调用了grant方法之后会调用Ballot的isGranted判断一下是否达到了半数以上的响应。...Ballot#isGranted public boolean isGranted() { return this.quorum <= 0 && oldQuorum <= 0; } 即判断一下投票箱里面的票数是不是被减到了...如果返回是的话,那么就调用electSelf进行选举。...有效的,那么就直接break,返回granted为false 如果当前的任期大于请求的任期,那么调用checkReplicator检查自己是不是leader,如果是leader,那么将当前节点从failureReplicators

89410

LiveData奇思妙用总结

-> toast("权限RECORD_AUDIO请求结果 $isGranted") } 封装的代码跟上面类似,就不列出来了。...二、LiveData实现全局定时器 场景 一个全局计数器,Activity销毁,计时器停止,不会导致内存泄露,Activity激活,计时器开始,自动获取最新的计时。...场景 进入Activity请求定位,Activity销毁移除定位,防止内存泄露 以前的方式 // 伪代码·· class MainActiviy { override fun onStart...ViewModelProvider.AndroidViewModelFactory.getInstance(application); } 项目地址 具体见KunMin大神的: github.com/KunMinX/Jet… 十、LiveData的转换 场景 获取用户信息的接口返回的是一个...User对象,但是页面上只需要显示用户的名字UserName,这样就没必要把整个User对象抛出去。

55810

ABP入门系列(18)—— 使用领域服务

2.用例分析 用户可以无限创建任务但仅能分配给自己;管理员具有分配任务给他人的权限,任务分配成功后要通知接收人。 我们分析下这个业务用例,其实主要涉及到一个业务操作——任务分配。...按照我们传统的思路,在做任务分配这个操作,就是对任务进行编辑,没有什么特别的地方,通过代码调用应用层服务更新Task实体即可。...Updating a task for input: " + input); //获取是否有权限 bool canAssignTaskToOther = PermissionChecker.IsGranted...用户接口层(Presentation):提供一个用户界面,实现用户交互操作。 应用层(Application):进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。...以多个领域对象为输入,返回一个值对象。 4. 使用领域服务 经过上面的分析,很显然我们的用例,使用领域服务来实现更合适。

1.1K100
领券