|
|
|
@ -43,7 +43,11 @@ public class PermissionChecker : IPermissionChecker, ITransientDependency |
|
|
|
{ |
|
|
|
Check.NotNull(name, nameof(name)); |
|
|
|
|
|
|
|
var permission = await PermissionDefinitionManager.GetAsync(name); |
|
|
|
var permission = await PermissionDefinitionManager.GetOrNullAsync(name); |
|
|
|
if (permission == null) |
|
|
|
{ |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
if (!permission.IsEnabled) |
|
|
|
{ |
|
|
|
@ -97,18 +101,24 @@ public class PermissionChecker : IPermissionChecker, ITransientDependency |
|
|
|
{ |
|
|
|
Check.NotNull(names, nameof(names)); |
|
|
|
|
|
|
|
var multiTenancySide = claimsPrincipal?.GetMultiTenancySide() ?? CurrentTenant.GetMultiTenancySide(); |
|
|
|
|
|
|
|
var result = new MultiplePermissionGrantResult(); |
|
|
|
if (!names.Any()) |
|
|
|
{ |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
var multiTenancySide = claimsPrincipal?.GetMultiTenancySide() ?? |
|
|
|
CurrentTenant.GetMultiTenancySide(); |
|
|
|
|
|
|
|
var permissionDefinitions = new List<PermissionDefinition>(); |
|
|
|
foreach (var name in names) |
|
|
|
{ |
|
|
|
var permission = await PermissionDefinitionManager.GetAsync(name); |
|
|
|
var permission = await PermissionDefinitionManager.GetOrNullAsync(name); |
|
|
|
if (permission == null) |
|
|
|
{ |
|
|
|
result.Result.Add(name, PermissionGrantResult.Prohibited); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
result.Result.Add(name, PermissionGrantResult.Undefined); |
|
|
|
|
|
|
|
|