Added permission groups. Cleaned security ui. Added some permission stuff
This commit is contained in:
@@ -22,6 +22,10 @@ public class PermissionStorage
|
||||
{
|
||||
return BitHelper.ReadBit(Data, permission.Index);
|
||||
}
|
||||
catch (ArgumentOutOfRangeException)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Verbose("Error reading permissions. (Can be intentional)");
|
||||
@@ -37,4 +41,15 @@ public class PermissionStorage
|
||||
Data = BitHelper.WriteBit(Data, permission.Index, value);
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasAnyPermissions()
|
||||
{
|
||||
foreach (var permission in Permissions.GetAllPermissions())
|
||||
{
|
||||
if (this[permission])
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -261,10 +261,10 @@ public static class Permissions
|
||||
Description = "Manage mail settings in the admin area"
|
||||
};
|
||||
|
||||
public static Permission AdminSysMalware = new()
|
||||
public static Permission AdminSecurityMalware = new()
|
||||
{
|
||||
Index = 39,
|
||||
Name = "Admin system Malware",
|
||||
Name = "Admin security Malware",
|
||||
Description = "Manage malware settings in the admin area"
|
||||
};
|
||||
|
||||
@@ -275,11 +275,11 @@ public static class Permissions
|
||||
Description = "View system resources in the admin area"
|
||||
};
|
||||
|
||||
public static Permission AdminSysSecurity = new()
|
||||
public static Permission AdminSecurity = new()
|
||||
{
|
||||
Index = 41,
|
||||
Name = "Admin system Security",
|
||||
Description = "Manage security settings in the admin area"
|
||||
Name = "Admin Security",
|
||||
Description = "View security logs in the admin area"
|
||||
};
|
||||
|
||||
public static Permission AdminSysSentry = new()
|
||||
@@ -379,6 +379,20 @@ public static class Permissions
|
||||
Name = "Admin Webspaces Server New",
|
||||
Description = "Create a new webspace server in the admin area"
|
||||
};
|
||||
|
||||
public static Permission AdminSecurityIpBans = new()
|
||||
{
|
||||
Index = 56,
|
||||
Name = "Admin security ip bans",
|
||||
Description = "Manage ip bans in the admin area"
|
||||
};
|
||||
|
||||
public static Permission AdminSecurityPermissionGroups = new()
|
||||
{
|
||||
Index = 57,
|
||||
Name = "Admin security permission groups",
|
||||
Description = "View, add and delete permission groups"
|
||||
};
|
||||
|
||||
public static Permission? FromString(string name)
|
||||
{
|
||||
|
||||
@@ -242,11 +242,22 @@ public class IdentityService
|
||||
Permissions.IsReadyOnly = true;
|
||||
return;
|
||||
}
|
||||
|
||||
Permissions = new PermissionStorage(BitHelper.OverwriteByteArrays(
|
||||
UserPermissions.Data,
|
||||
GroupPermissions.Data),
|
||||
true
|
||||
);
|
||||
|
||||
Permissions = new(Array.Empty<byte>());
|
||||
|
||||
foreach (var permission in Perms.Permissions.GetAllPermissions())
|
||||
{
|
||||
Permissions[permission] = GroupPermissions[permission];
|
||||
}
|
||||
|
||||
foreach (var permission in Perms.Permissions.GetAllPermissions())
|
||||
{
|
||||
if (UserPermissions[permission])
|
||||
{
|
||||
Permissions[permission] = true;
|
||||
}
|
||||
}
|
||||
|
||||
Permissions.IsReadyOnly = true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user