added permission configuration
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
namespace HopFrame.Security;
|
||||
|
||||
public static class AdminPermissions {
|
||||
public const string IsAdmin = "hopframe.admin";
|
||||
|
||||
public const string ViewUsers = "hopframe.admin.users.view";
|
||||
public const string EditUser = "hopframe.admin.users.edit";
|
||||
public const string DeleteUser = "hopframe.admin.users.delete";
|
||||
public const string AddUser = "hopframe.admin.users.add";
|
||||
|
||||
public const string ViewGroups = "hopframe.admin.groups.view";
|
||||
public const string EditGroup = "hopframe.admin.groups.edit";
|
||||
public const string DeleteGroup = "hopframe.admin.groups.delete";
|
||||
public const string AddGroup = "hopframe.admin.groups.add";
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
using HopFrame.Security.Authorization;
|
||||
using HopFrame.Security.Claims;
|
||||
using HopFrame.Security.Options;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
@@ -20,6 +21,7 @@ public static class HopFrameAuthenticationExtensions {
|
||||
service.AddScoped<ITokenContext, TokenContextImplementor>();
|
||||
|
||||
service.AddOptionsFromConfiguration<HopFrameAuthenticationOptions>(configuration);
|
||||
service.AddOptionsFromConfiguration<AdminPermissionOptions>(configuration);
|
||||
|
||||
service.AddAuthentication(HopFrameAuthentication.SchemeName).AddScheme<AuthenticationSchemeOptions, HopFrameAuthentication>(HopFrameAuthentication.SchemeName, _ => {});
|
||||
service.AddAuthorization();
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
using HopFrame.Security.Options;
|
||||
|
||||
namespace HopFrame.Security.Authorization;
|
||||
|
||||
public class AdminPermissionOptions : OptionsFromConfiguration {
|
||||
public override string Position { get; } = "HopFrame:Permissions";
|
||||
|
||||
public string Dashboard { get; set; } = "hopframe.admin";
|
||||
|
||||
public CrudPermission Users { get; set; } = new() {
|
||||
Read = "hopframe.admin.users.read",
|
||||
Update = "hopframe.admin.users.update",
|
||||
Delete = "hopframe.admin.users.delete",
|
||||
Create = "hopframe.admin.users.create"
|
||||
};
|
||||
|
||||
public CrudPermission Groups { get; set; } = new() {
|
||||
Read = "hopframe.admin.groups.read",
|
||||
Update = "hopframe.admin.groups.update",
|
||||
Delete = "hopframe.admin.groups.delete",
|
||||
Create = "hopframe.admin.groups.create"
|
||||
};
|
||||
|
||||
public class CrudPermission {
|
||||
public string Create { get; set; }
|
||||
public string Read { get; set; }
|
||||
public string Update { get; set; }
|
||||
public string Delete { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user