mirror of https://github.com/abpframework/abp.git
6 changed files with 86 additions and 16 deletions
@ -0,0 +1,38 @@ |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
|
|||
namespace Volo.Abp.Authorization.TestServices; |
|||
|
|||
public class TestProhibitedPermissionValueProvider : PermissionValueProvider |
|||
{ |
|||
public TestProhibitedPermissionValueProvider(IPermissionStore permissionStore) : base(permissionStore) |
|||
{ |
|||
} |
|||
|
|||
public override string Name => "TestProhibitedPermissionValueProvider"; |
|||
|
|||
public override Task<PermissionGrantResult> CheckAsync(PermissionValueCheckContext context) |
|||
{ |
|||
var result = PermissionGrantResult.Undefined; |
|||
if (context.Permission.Name == "MyPermission8" || context.Permission.Name == "MyPermission9") |
|||
{ |
|||
result = PermissionGrantResult.Prohibited; |
|||
} |
|||
|
|||
return Task.FromResult(result); |
|||
} |
|||
|
|||
public override Task<MultiplePermissionGrantResult> CheckAsync(PermissionValuesCheckContext context) |
|||
{ |
|||
var result = new MultiplePermissionGrantResult(); |
|||
foreach (var name in context.Permissions.Select(x => x.Name)) |
|||
{ |
|||
result.Result.Add(name, name == "MyPermission8" || name == "MyPermission9" |
|||
? PermissionGrantResult.Prohibited |
|||
: PermissionGrantResult.Undefined); |
|||
} |
|||
|
|||
return Task.FromResult(result); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue