加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

ABP框架 授权

发布时间:2016-10-29 10:54:52 所属栏目:教程 来源:站长网
导读:副标题#e# 文档目录 本节内容: 简介 关于 IPermissionChecker 定义许可 检查许可 使用 AbpAuthorize特性 AbpAuthorize特性注意事项 废止授权 使用 IPermissionChecker 在Razor视图里 客户端(Javascript) 许可管理器 简介 几乎所有的企业应用在某引起级别

尽管IsGranted只是简单的返回true或false,但你也可以编写任何逻辑(IsGranted也有异步版本)。如果你像上面那样,只是简单的检查一个许可并抛出一个异常,你可以使用Authorize方法:

public void CreateUser(CreateOrUpdateUserInput input)
{
    PermissionChecker.Authorize("Administration.UserManagement.CreateUser");
   //一个用户如果没有经过“Administration.usermanagerment.CreateUser”许可的允许,是不可以到达这里的。
 }

由于授权的广泛使用,ApplicationService和一些通用的基类注入并定义了PermissionChecker属性,因此,在应用服务类里,不需要注入就可以使用许可检查器。

 

在Razor视图里

基视图类已经定义了IsGranted方法来检查当前用户是否有许可证,因此,我们可以有条件的渲染视图,例如:

@if (IsGranted("Administration.UserManagement.CreateUser"))
{
    <button id="CreateNewUserButton" class="btn btn-primary"><i class="fa fa-plus"></i> @L("CreateNewUser")</button>
}

 

客户端(Javascript)

在客户端里,我们可以使用定义在abp.auth命名空间里的API,大部分情况下,我们需要检查当前用户是否有一个指定的许可(使用许可名称),例如:

abp.auth.isGranted('Administration.UserManagement.CreateUser');

你也可以使用abp.auth.grantedPermissions获取所有授予权限或abp.auth.allPerssions获取所有可用的许可名称。在运行时里查看abp.auth命名空间的其它API。

 

许可管理器

我们可能会用到许可的定义,这里可以注入并使用IPermissionManager。

 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读