From 8f992ce4f23e0d5ee410bc63bc8ab73b333170ca Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 22 Apr 2021 11:00:04 +0800 Subject: [PATCH] Add RequireAuthenticatedSimpleStateChecker. --- .../PermissionSimpleStateCheckerExtensions.cs | 7 +++++++ .../RequireAuthenticatedSimpleStateChecker.cs | 16 ++++++++++++++++ .../RequirePermissionsSimpleBatchStateChecker.cs | 0 ...irePermissionsSimpleBatchStateCheckerModel.cs | 0 .../RequirePermissionsSimpleStateChecker.cs | 0 5 files changed, 23 insertions(+) rename framework/src/{Volo.Abp.Authorization.Abstractions => Volo.Abp.Authorization}/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs (87%) create mode 100644 framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequireAuthenticatedSimpleStateChecker.cs rename framework/src/{Volo.Abp.Authorization.Abstractions => Volo.Abp.Authorization}/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateChecker.cs (100%) rename framework/src/{Volo.Abp.Authorization.Abstractions => Volo.Abp.Authorization}/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateCheckerModel.cs (100%) rename framework/src/{Volo.Abp.Authorization.Abstractions => Volo.Abp.Authorization}/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleStateChecker.cs (100%) diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs similarity index 87% rename from framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs rename to framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs index 56b50ab50a..c7849416b3 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionSimpleStateCheckerExtensions.cs @@ -5,6 +5,13 @@ namespace Volo.Abp.Authorization.Permissions { public static class PermissionSimpleStateCheckerExtensions { + public static TState RequireAuthenticated([NotNull] this TState state) + where TState : IHasSimpleStateCheckers + { + state.SimpleStateCheckers.Add(new RequireAuthenticatedSimpleStateChecker()); + return state; + } + public static TState RequirePermissions( [NotNull] this TState state, params string[] permissions) diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequireAuthenticatedSimpleStateChecker.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequireAuthenticatedSimpleStateChecker.cs new file mode 100644 index 0000000000..64350bd825 --- /dev/null +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequireAuthenticatedSimpleStateChecker.cs @@ -0,0 +1,16 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.SimpleStateChecking; +using Volo.Abp.Users; + +namespace Volo.Abp.Authorization.Permissions +{ + public class RequireAuthenticatedSimpleStateChecker : ISimpleStateChecker + where TState : IHasSimpleStateCheckers + { + public Task IsEnabledAsync(SimpleStateCheckerContext context) + { + return Task.FromResult(context.ServiceProvider.GetRequiredService().IsAuthenticated); + } + } +} diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateChecker.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateChecker.cs similarity index 100% rename from framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateChecker.cs rename to framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateChecker.cs diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateCheckerModel.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateCheckerModel.cs similarity index 100% rename from framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateCheckerModel.cs rename to framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleBatchStateCheckerModel.cs diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleStateChecker.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleStateChecker.cs similarity index 100% rename from framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleStateChecker.cs rename to framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RequirePermissionsSimpleStateChecker.cs