pull/9784/head
liangshiwei 4 years ago
parent 61d5639d08
commit 6b1daeaef6

@ -38,11 +38,11 @@ namespace Volo.Abp.PermissionManagement.Identity
public override async Task<MultiplePermissionValueProviderGrantInfo> CheckAsync(string[] names, string providerName, string providerKey)
{
var multiplePermissionValueProviderGrantInfo = new MultiplePermissionValueProviderGrantInfo(names);
List<PermissionGrant> permissionGrants = null;
var permissionGrants = new List<PermissionGrant>();
if (providerName == Name)
{
permissionGrants = await PermissionGrantRepository.GetListAsync(names, providerName, providerKey);
permissionGrants.AddRange(await PermissionGrantRepository.GetListAsync(names, providerName, providerKey));
}
@ -53,11 +53,12 @@ namespace Volo.Abp.PermissionManagement.Identity
foreach (var roleName in roleNames)
{
permissionGrants = await PermissionGrantRepository.GetListAsync(names, Name, roleName);
permissionGrants.AddRange(await PermissionGrantRepository.GetListAsync(names, Name, roleName));
}
}
if (permissionGrants == null)
permissionGrants = permissionGrants.Distinct().ToList();
if (!permissionGrants.Any())
{
return multiplePermissionValueProviderGrantInfo;
}

@ -69,6 +69,11 @@ namespace Volo.Abp.PermissionManagement
}
}
if (!neededCheckPermissions.Any())
{
return result;
}
var grantInfoDtos = neededCheckPermissions.Select(x => new PermissionGrantInfoDto
{
Name = x.Name,

@ -44,10 +44,8 @@ namespace Volo.Abp.PermissionManagement
foreach (var permissionName in names)
{
if (permissionGrants.Any(x => x.Name == permissionName))
{
multiplePermissionValueProviderGrantInfo.Result[permissionName] = new PermissionValueProviderGrantInfo(true, providerKey);
}
var isGrant = permissionGrants.Any(x => x.Name == permissionName);
multiplePermissionValueProviderGrantInfo.Result[permissionName] = new PermissionValueProviderGrantInfo(isGrant, providerKey);
}
return multiplePermissionValueProviderGrantInfo;

@ -73,14 +73,12 @@ namespace Volo.Abp.PermissionManagement
public virtual async Task<List<PermissionWithGrantedProviders>> GetAllAsync(string providerName, string providerKey)
{
var results = new List<PermissionWithGrantedProviders>();
var permissionDefinitions = PermissionDefinitionManager.GetPermissions().ToArray();
foreach (var permissionDefinition in PermissionDefinitionManager.GetPermissions())
{
results.Add(await GetInternalAsync(permissionDefinition, providerName, providerKey));
}
var multiplePermissionWithGrantedProviders = await GetInternalAsync(permissionDefinitions, providerName, providerKey);
return multiplePermissionWithGrantedProviders.Result;
return results;
}
public virtual async Task SetAsync(string permissionName, string providerName, string providerKey, bool isGranted)
@ -173,6 +171,11 @@ namespace Volo.Abp.PermissionManagement
}
}
if (!neededCheckPermissions.Any())
{
return multiplePermissionWithGrantedProviders;
}
foreach (var provider in ManagementProviders)
{
permissionNames = neededCheckPermissions.Select(x => x.Name).ToArray();

@ -11,7 +11,28 @@ namespace MyCompanyName.MyProjectName.Permissions
var myGroup = context.AddGroup(MyProjectNamePermissions.GroupName);
//Define your own permissions here. Example:
//myGroup.AddPermission(MyProjectNamePermissions.MyPermission1, L("Permission:MyPermission1"));
myGroup.AddPermission("permission1", L("Permission:MyPermission1"));
myGroup.AddPermission("permission2", L("Permission:MyPermission1"));
myGroup.AddPermission("permission3", L("Permission:MyPermission1"));
myGroup.AddPermission("permission4", L("Permission:MyPermission1"));
myGroup.AddPermission("permission5", L("Permission:MyPermission1"));
myGroup.AddPermission("permission6", L("Permission:MyPermission1"));
myGroup.AddPermission("permission7", L("Permission:MyPermission1"));
myGroup.AddPermission("permission8", L("Permission:MyPermission1"));
myGroup.AddPermission("permission9", L("Permission:MyPermission1"));
myGroup.AddPermission("permission10", L("Permission:MyPermission1"));
myGroup.AddPermission("permission11", L("Permission:MyPermission1"));
myGroup.AddPermission("permission12", L("Permission:MyPermission1"));
myGroup.AddPermission("permission13", L("Permission:MyPermission1"));
myGroup.AddPermission("permission14", L("Permission:MyPermission1"));
myGroup.AddPermission("permission15", L("Permission:MyPermission1"));
myGroup.AddPermission("permission16", L("Permission:MyPermission1"));
myGroup.AddPermission("permission17", L("Permission:MyPermission1"));
myGroup.AddPermission("permission18", L("Permission:MyPermission1"));
myGroup.AddPermission("permission19", L("Permission:MyPermission1"));
myGroup.AddPermission("permission20", L("Permission:MyPermission1"));
myGroup.AddPermission("permission21", L("Permission:MyPermission1"));
myGroup.AddPermission("permission22", L("Permission:MyPermission1"));
}
private static LocalizableString L(string name)

Loading…
Cancel
Save