Browse Source

Add prohibited permission value providers and update permission checks

pull/24283/head
maliming 9 months ago
parent
commit
4ee5529380
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 3
      framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/AbpAuthorizationTestModule.cs
  2. 4
      framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/FakePermissionStore.cs
  3. 38
      framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/TestProhibitedPermissionValueProvider1.cs
  4. 6
      framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/TestProhibitedPermissionValueProvider2.cs

3
framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/AbpAuthorizationTestModule.cs

@ -31,7 +31,8 @@ public class AbpAuthorizationTestModule : AbpModule
{
options.ValueProviders.Add<TestPermissionValueProvider1>();
options.ValueProviders.Add<TestPermissionValueProvider2>();
options.ValueProviders.Add<TestProhibitedPermissionValueProvider>();
options.ValueProviders.Add<TestProhibitedPermissionValueProvider1>();
options.ValueProviders.Add<TestProhibitedPermissionValueProvider2>();
});
}
}

4
framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/FakePermissionStore.cs

@ -8,7 +8,7 @@ public class FakePermissionStore : IPermissionStore, ITransientDependency
{
public Task<bool> IsGrantedAsync(string name, string providerName, string providerKey)
{
return Task.FromResult(name == "MyPermission3" || name == "MyPermission5" || name == "MyPermission8");
return Task.FromResult(name == "MyPermission3" || name == "MyPermission5");
}
public Task<MultiplePermissionGrantResult> IsGrantedAsync(string[] names, string providerName, string providerKey)
@ -16,7 +16,7 @@ public class FakePermissionStore : IPermissionStore, ITransientDependency
var result = new MultiplePermissionGrantResult();
foreach (var name in names)
{
result.Result.Add(name, name == "MyPermission3" || name == "MyPermission5" || name == "MyPermission8"
result.Result.Add(name, name == "MyPermission3" || name == "MyPermission5"
? PermissionGrantResult.Granted
: PermissionGrantResult.Prohibited);
}

38
framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/TestProhibitedPermissionValueProvider1.cs

@ -0,0 +1,38 @@
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
namespace Volo.Abp.Authorization.TestServices;
public class TestProhibitedPermissionValueProvider1 : PermissionValueProvider
{
public TestProhibitedPermissionValueProvider1(IPermissionStore permissionStore) : base(permissionStore)
{
}
public override string Name => "TestProhibitedPermissionValueProvider1";
public override Task<PermissionGrantResult> CheckAsync(PermissionValueCheckContext context)
{
var result = PermissionGrantResult.Undefined;
if (context.Permission.Name == "MyPermission8" || context.Permission.Name == "MyPermission9")
{
result = PermissionGrantResult.Granted;
}
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.Granted
: PermissionGrantResult.Undefined);
}
return Task.FromResult(result);
}
}

6
framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/TestProhibitedPermissionValueProvider.cs → framework/test/Volo.Abp.Authorization.Tests/Volo/Abp/Authorization/TestServices/TestProhibitedPermissionValueProvider2.cs

@ -4,13 +4,13 @@ using Volo.Abp.Authorization.Permissions;
namespace Volo.Abp.Authorization.TestServices;
public class TestProhibitedPermissionValueProvider : PermissionValueProvider
public class TestProhibitedPermissionValueProvider2 : PermissionValueProvider
{
public TestProhibitedPermissionValueProvider(IPermissionStore permissionStore) : base(permissionStore)
public TestProhibitedPermissionValueProvider2(IPermissionStore permissionStore) : base(permissionStore)
{
}
public override string Name => "TestProhibitedPermissionValueProvider";
public override string Name => "TestProhibitedPermissionValueProvider2";
public override Task<PermissionGrantResult> CheckAsync(PermissionValueCheckContext context)
{
Loading…
Cancel
Save