ABP应用的权限定义是编写在代码中的。增加自定义权限首先要在Application.Contracts项目中修改PermissionDefinitionProvider,在Define函数中增加自定义的权限,比如:
var servicePermission= myGroup.AddPermission(OrderManagementPermissions.Service.ImportData, L("Permission:ImportData"));
权限定义在Permission文件中,比如:
public class Service
{
public const string ImportData = GroupName + ".ImportData";
}
然后就可以在页面中进行权限判断了:
@page
@using ZLDNN.OrderManagement.Permissions
@using Microsoft.AspNetCore.Authorization
@inject IAuthorizationService Authorization
@model ZLDNN.OrderManagement.Web.Pages.Products.Services.ImportDataModel
@{
}
@if (await Authorization.IsGrantedAsync(OrderManagementPermissions.Service.ImportData))
{
<span>@Model.Result</span>
<form>
@Html.AntiForgeryToken()
<input id="Submit1" type="submit" value="导入数据" formmethod="post" />
</form>
}
else {
<span>没有导入数据权限</span>
}
主要是引入权限服务,然后使用IsGanted进行判断。
网友评论