|
|
@ -24,7 +24,7 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc |
|
|
protected IDistributedCache Cache { get; } |
|
|
protected IDistributedCache Cache { get; } |
|
|
protected IApplicationNameAccessor ApplicationNameAccessor { get; } |
|
|
protected IApplicationNameAccessor ApplicationNameAccessor { get; } |
|
|
protected IAbpDistributedLock DistributedLock { get; } |
|
|
protected IAbpDistributedLock DistributedLock { get; } |
|
|
protected PermissionManagementOptions PermissionManagementOptions { get; } |
|
|
protected AbpPermissionOptions PermissionOptions { get; } |
|
|
protected ICancellationTokenProvider CancellationTokenProvider { get; } |
|
|
protected ICancellationTokenProvider CancellationTokenProvider { get; } |
|
|
protected AbpDistributedCacheOptions CacheOptions { get; } |
|
|
protected AbpDistributedCacheOptions CacheOptions { get; } |
|
|
|
|
|
|
|
|
@ -37,7 +37,7 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc |
|
|
IOptions<AbpDistributedCacheOptions> cacheOptions, |
|
|
IOptions<AbpDistributedCacheOptions> cacheOptions, |
|
|
IApplicationNameAccessor applicationNameAccessor, |
|
|
IApplicationNameAccessor applicationNameAccessor, |
|
|
IAbpDistributedLock distributedLock, |
|
|
IAbpDistributedLock distributedLock, |
|
|
IOptions<PermissionManagementOptions> permissionManagementOptions, |
|
|
IOptions<AbpPermissionOptions> permissionOptions, |
|
|
ICancellationTokenProvider cancellationTokenProvider) |
|
|
ICancellationTokenProvider cancellationTokenProvider) |
|
|
{ |
|
|
{ |
|
|
StaticStore = staticStore; |
|
|
StaticStore = staticStore; |
|
|
@ -48,7 +48,7 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc |
|
|
ApplicationNameAccessor = applicationNameAccessor; |
|
|
ApplicationNameAccessor = applicationNameAccessor; |
|
|
DistributedLock = distributedLock; |
|
|
DistributedLock = distributedLock; |
|
|
CancellationTokenProvider = cancellationTokenProvider; |
|
|
CancellationTokenProvider = cancellationTokenProvider; |
|
|
PermissionManagementOptions = permissionManagementOptions.Value; |
|
|
PermissionOptions = permissionOptions.Value; |
|
|
CacheOptions = cacheOptions.Value; |
|
|
CacheOptions = cacheOptions.Value; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -80,8 +80,8 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc |
|
|
var currentHash = CalculateHash( |
|
|
var currentHash = CalculateHash( |
|
|
permissionGroupRecords, |
|
|
permissionGroupRecords, |
|
|
permissionRecords, |
|
|
permissionRecords, |
|
|
PermissionManagementOptions.DeletedPermissionGroups, |
|
|
PermissionOptions.DeletedPermissionGroups, |
|
|
PermissionManagementOptions.DeletedPermissions |
|
|
PermissionOptions.DeletedPermissions |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
if (cachedHash == currentHash) |
|
|
if (cachedHash == currentHash) |
|
|
@ -156,9 +156,9 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* Deleted */ |
|
|
/* Deleted */ |
|
|
var deletedRecords = PermissionManagementOptions.DeletedPermissionGroups.Any() |
|
|
var deletedRecords = PermissionOptions.DeletedPermissionGroups.Any() |
|
|
? permissionGroupRecordsInDatabase.Values |
|
|
? permissionGroupRecordsInDatabase.Values |
|
|
.Where(x => PermissionManagementOptions.DeletedPermissionGroups.Contains(x.Name)) |
|
|
.Where(x => PermissionOptions.DeletedPermissionGroups.Contains(x.Name)) |
|
|
.ToArray() |
|
|
.ToArray() |
|
|
: Array.Empty<PermissionGroupDefinitionRecord>(); |
|
|
: Array.Empty<PermissionGroupDefinitionRecord>(); |
|
|
|
|
|
|
|
|
@ -213,19 +213,19 @@ public class StaticPermissionSaver : IStaticPermissionSaver, ITransientDependenc |
|
|
/* Deleted */ |
|
|
/* Deleted */ |
|
|
var deletedRecords = new List<PermissionDefinitionRecord>(); |
|
|
var deletedRecords = new List<PermissionDefinitionRecord>(); |
|
|
|
|
|
|
|
|
if (PermissionManagementOptions.DeletedPermissions.Any()) |
|
|
if (PermissionOptions.DeletedPermissions.Any()) |
|
|
{ |
|
|
{ |
|
|
deletedRecords.AddRange( |
|
|
deletedRecords.AddRange( |
|
|
permissionRecordsInDatabase.Values |
|
|
permissionRecordsInDatabase.Values |
|
|
.Where(x => PermissionManagementOptions.DeletedPermissions.Contains(x.Name)) |
|
|
.Where(x => PermissionOptions.DeletedPermissions.Contains(x.Name)) |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (PermissionManagementOptions.DeletedPermissionGroups.Any()) |
|
|
if (PermissionOptions.DeletedPermissionGroups.Any()) |
|
|
{ |
|
|
{ |
|
|
deletedRecords.AddIfNotContains( |
|
|
deletedRecords.AddIfNotContains( |
|
|
permissionRecordsInDatabase.Values |
|
|
permissionRecordsInDatabase.Values |
|
|
.Where(x => PermissionManagementOptions.DeletedPermissionGroups.Contains(x.GroupName)) |
|
|
.Where(x => PermissionOptions.DeletedPermissionGroups.Contains(x.GroupName)) |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|