diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo.Abp.Authorization.Abstractions.csproj b/framework/src/Volo.Abp.Authorization.Abstractions/Volo.Abp.Authorization.Abstractions.csproj index 86f6a8498a..51e05677d4 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo.Abp.Authorization.Abstractions.csproj +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo.Abp.Authorization.Abstractions.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.Authorization.Abstractions Volo.Abp.Authorization.Abstractions $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/AlwaysAllowAuthorizationService.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/AlwaysAllowAuthorizationService.cs index 92de7873f8..b65bc7aa84 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/AlwaysAllowAuthorizationService.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/AlwaysAllowAuthorizationService.cs @@ -21,12 +21,12 @@ public class AlwaysAllowAuthorizationService : IAbpAuthorizationService _currentPrincipalAccessor = currentPrincipalAccessor; } - public Task AuthorizeAsync(ClaimsPrincipal user, object resource, IEnumerable requirements) + public Task AuthorizeAsync(ClaimsPrincipal user, object? resource, IEnumerable requirements) { return Task.FromResult(AuthorizationResult.Success()); } - public Task AuthorizeAsync(ClaimsPrincipal user, object resource, string policyName) + public Task AuthorizeAsync(ClaimsPrincipal user, object? resource, string policyName) { return Task.FromResult(AuthorizationResult.Success()); } diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/AlwaysAllowPermissionChecker.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/AlwaysAllowPermissionChecker.cs index 703ed1c94a..7910750fe7 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/AlwaysAllowPermissionChecker.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/AlwaysAllowPermissionChecker.cs @@ -17,7 +17,7 @@ public class AlwaysAllowPermissionChecker : IPermissionChecker return TaskCache.TrueResult; } - public Task IsGrantedAsync(ClaimsPrincipal claimsPrincipal, string name) + public Task IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, string name) { return TaskCache.TrueResult; } @@ -27,7 +27,7 @@ public class AlwaysAllowPermissionChecker : IPermissionChecker return IsGrantedAsync(null, names); } - public Task IsGrantedAsync(ClaimsPrincipal claimsPrincipal, string[] names) + public Task IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, string[] names) { return Task.FromResult(new MultiplePermissionGrantResult(names, PermissionGrantResult.Granted)); } diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/ICanAddChildPermission.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/ICanAddChildPermission.cs index 57a224699f..828e4cbd01 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/ICanAddChildPermission.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/ICanAddChildPermission.cs @@ -8,7 +8,7 @@ public interface ICanAddChildPermission { PermissionDefinition AddPermission( [NotNull] string name, - ILocalizableString displayName = null, + ILocalizableString? displayName = null, MultiTenancySides multiTenancySide = MultiTenancySides.Both, bool isEnabled = true); } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs index 4dfc3b94c6..15bdeabcca 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionChecker.cs @@ -8,9 +8,9 @@ public interface IPermissionChecker { Task IsGrantedAsync([NotNull] string name); - Task IsGrantedAsync([CanBeNull] ClaimsPrincipal claimsPrincipal, [NotNull] string name); + Task IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, [NotNull] string name); Task IsGrantedAsync([NotNull] string[] names); - Task IsGrantedAsync([CanBeNull] ClaimsPrincipal claimsPrincipal, [NotNull] string[] names); + Task IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, [NotNull] string[] names); } diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionDefinitionContext.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionDefinitionContext.cs index 411b030b6a..4f686a6bae 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionDefinitionContext.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/IPermissionDefinitionContext.cs @@ -25,8 +25,7 @@ public interface IPermissionDefinitionContext /// /// Name of the group /// - [CanBeNull] - PermissionGroupDefinition GetGroupOrNull(string name); + PermissionGroupDefinition? GetGroupOrNull(string name); /// /// Tries to add a new permission group. @@ -37,7 +36,7 @@ public interface IPermissionDefinitionContext /// PermissionGroupDefinition AddGroup( [NotNull] string name, - ILocalizableString displayName = null); + ILocalizableString? displayName = null); /// /// Tries to remove a permission group. @@ -51,6 +50,5 @@ public interface IPermissionDefinitionContext /// Returns null if can not find the given group. /// Name of the group /// - [CanBeNull] - PermissionDefinition GetPermissionOrNull([NotNull] string name); + PermissionDefinition? GetPermissionOrNull([NotNull] string name); } diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinition.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinition.cs index fb6f07690c..ab49e4aad4 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinition.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinition.cs @@ -20,7 +20,7 @@ public class PermissionDefinition : /// Parent of this permission if one exists. /// If set, this permission can be granted only if parent is granted. /// - public PermissionDefinition Parent { get; private set; } + public PermissionDefinition? Parent { get; private set; } /// /// MultiTenancy side. @@ -40,7 +40,7 @@ public class PermissionDefinition : get => _displayName; set => _displayName = Check.NotNull(value, nameof(value)); } - private ILocalizableString _displayName; + private ILocalizableString _displayName = default!; public IReadOnlyList Children => _children.ToImmutableList(); private readonly List _children; @@ -48,7 +48,7 @@ public class PermissionDefinition : /// /// Can be used to get/set custom properties for this permission definition. /// - public Dictionary Properties { get; } + public Dictionary Properties { get; } /// /// Indicates whether this permission is enabled or disabled. @@ -71,14 +71,14 @@ public class PermissionDefinition : /// Returns the value in the dictionary by given . /// Returns null if given is not present in the dictionary. /// - public object this[string name] { + public object? this[string name] { get => Properties.GetOrDefault(name); set => Properties[name] = value; } protected internal PermissionDefinition( [NotNull] string name, - ILocalizableString displayName = null, + ILocalizableString? displayName = null, MultiTenancySides multiTenancySide = MultiTenancySides.Both, bool isEnabled = true) { @@ -87,7 +87,7 @@ public class PermissionDefinition : MultiTenancySide = multiTenancySide; IsEnabled = isEnabled; - Properties = new Dictionary(); + Properties = new Dictionary(); Providers = new List(); StateCheckers = new List>(); _children = new List(); @@ -95,7 +95,7 @@ public class PermissionDefinition : public virtual PermissionDefinition AddChild( [NotNull] string name, - ILocalizableString displayName = null, + ILocalizableString? displayName = null, MultiTenancySides multiTenancySide = MultiTenancySides.Both, bool isEnabled = true) { @@ -115,7 +115,7 @@ public class PermissionDefinition : PermissionDefinition ICanAddChildPermission.AddPermission( string name, - ILocalizableString displayName = null, + ILocalizableString? displayName = null, MultiTenancySides multiTenancySide = MultiTenancySides.Both, bool isEnabled = true) { diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinitionContext.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinitionContext.cs index 5b5543e868..4372046e15 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinitionContext.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionDefinitionContext.cs @@ -20,7 +20,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext public virtual PermissionGroupDefinition AddGroup( string name, - ILocalizableString displayName = null) + ILocalizableString? displayName = null) { Check.NotNull(name, nameof(name)); @@ -45,7 +45,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext return group; } - public virtual PermissionGroupDefinition GetGroupOrNull([NotNull] string name) + public virtual PermissionGroupDefinition? GetGroupOrNull([NotNull] string name) { Check.NotNull(name, nameof(name)); @@ -69,7 +69,7 @@ public class PermissionDefinitionContext : IPermissionDefinitionContext Groups.Remove(name); } - public virtual PermissionDefinition GetPermissionOrNull([NotNull] string name) + public virtual PermissionDefinition? GetPermissionOrNull([NotNull] string name) { Check.NotNull(name, nameof(name)); diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGrantInfo.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGrantInfo.cs index 80031e5ea2..d348aeef79 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGrantInfo.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGrantInfo.cs @@ -8,11 +8,11 @@ public class PermissionGrantInfo public bool IsGranted { get; } - public string ProviderName { get; } + public string? ProviderName { get; } - public string ProviderKey { get; } + public string? ProviderKey { get; } - public PermissionGrantInfo([NotNull] string name, bool isGranted, [CanBeNull] string providerName = null, [CanBeNull] string providerKey = null) + public PermissionGrantInfo([NotNull] string name, bool isGranted, string? providerName = null, string? providerKey = null) { Check.NotNull(name, nameof(name)); diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGroupDefinition.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGroupDefinition.cs index 9fd904f54c..bbc6e96cdf 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGroupDefinition.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionGroupDefinition.cs @@ -13,13 +13,13 @@ public class PermissionGroupDefinition : ICanAddChildPermission /// public string Name { get; } - public Dictionary Properties { get; } + public Dictionary Properties { get; } public ILocalizableString DisplayName { get => _displayName; set => _displayName = Check.NotNull(value, nameof(value)); } - private ILocalizableString _displayName; + private ILocalizableString _displayName = default!; public IReadOnlyList Permissions => _permissions.ToImmutableList(); private readonly List _permissions; @@ -32,25 +32,25 @@ public class PermissionGroupDefinition : ICanAddChildPermission /// Returns the value in the dictionary by given . /// Returns null if given is not present in the dictionary. /// - public object this[string name] { + public object? this[string name] { get => Properties.GetOrDefault(name); set => Properties[name] = value; } protected internal PermissionGroupDefinition( string name, - ILocalizableString displayName = null) + ILocalizableString? displayName = null) { Name = name; DisplayName = displayName ?? new FixedLocalizableString(Name); - Properties = new Dictionary(); + Properties = new Dictionary(); _permissions = new List(); } public virtual PermissionDefinition AddPermission( [NotNull] string name, - ILocalizableString displayName = null, + ILocalizableString? displayName = null, MultiTenancySides multiTenancySide = MultiTenancySides.Both, bool isEnabled = true) { @@ -93,15 +93,14 @@ public class PermissionGroupDefinition : ICanAddChildPermission return $"[{nameof(PermissionGroupDefinition)} {Name}]"; } - [CanBeNull] - public PermissionDefinition GetPermissionOrNull([NotNull] string name) + public PermissionDefinition? GetPermissionOrNull([NotNull] string name) { Check.NotNull(name, nameof(name)); return GetPermissionOrNullRecursively(Permissions, name); } - private PermissionDefinition GetPermissionOrNullRecursively( + private PermissionDefinition? GetPermissionOrNullRecursively( IReadOnlyList permissions, string name) { foreach (var permission in permissions) diff --git a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionStateContext.cs b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionStateContext.cs index a18aef117e..3398dd420e 100644 --- a/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionStateContext.cs +++ b/framework/src/Volo.Abp.Authorization.Abstractions/Volo/Abp/Authorization/Permissions/PermissionStateContext.cs @@ -4,7 +4,7 @@ namespace Volo.Abp.Authorization.Permissions; public class PermissionStateContext { - public IServiceProvider ServiceProvider { get; set; } + public IServiceProvider ServiceProvider { get; set; } = default!; - public PermissionDefinition Permission { get; set; } + public PermissionDefinition Permission { get; set; } = default!; }