added postgresql integration for user permissions
This commit is contained in:
@@ -66,9 +66,11 @@ namespace UserPermissionTest_CS_WinForms
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var permission in user.Permissions)
|
||||
foreach (var permissionId in user.Permissions)
|
||||
{
|
||||
lstUserPermissions.Items.Add("✓ " + permission);
|
||||
var permObj = SessionManager.AvailablePermissions.FirstOrDefault(p => p.Id == permissionId);
|
||||
string permName = permObj != null ? permObj.Name : $"Unknown (ID: {permissionId})";
|
||||
lstUserPermissions.Items.Add("✓ " + permName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +78,11 @@ namespace UserPermissionTest_CS_WinForms
|
||||
btnLogout.Enabled = true;
|
||||
|
||||
// Authorization: Check if user has 'Manage Users' or 'Full Control'
|
||||
bool hasAccess = user.Permissions.Contains("Manage Users") || user.Permissions.Contains("Full Control");
|
||||
var manageUsersPerm = SessionManager.AvailablePermissions.FirstOrDefault(p => p.Name.Equals("Manage Users", StringComparison.OrdinalIgnoreCase));
|
||||
var fullControlPerm = SessionManager.AvailablePermissions.FirstOrDefault(p => p.Name.Equals("Full Control", StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
bool hasAccess = (manageUsersPerm != null && user.Permissions.Contains(manageUsersPerm.Id)) ||
|
||||
(fullControlPerm != null && user.Permissions.Contains(fullControlPerm.Id));
|
||||
if (hasAccess)
|
||||
{
|
||||
btnUsers.Enabled = true;
|
||||
@@ -124,7 +130,15 @@ namespace UserPermissionTest_CS_WinForms
|
||||
private void btnUsers_Click(object sender, EventArgs e)
|
||||
{
|
||||
var user = SessionManager.CurrentUser;
|
||||
if (user == null || (!user.Permissions.Contains("Manage Users") && !user.Permissions.Contains("Full Control")))
|
||||
var manageUsersPerm = SessionManager.AvailablePermissions.FirstOrDefault(p => p.Name.Equals("Manage Users", StringComparison.OrdinalIgnoreCase));
|
||||
var fullControlPerm = SessionManager.AvailablePermissions.FirstOrDefault(p => p.Name.Equals("Full Control", StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
bool hasAccess = user != null && (
|
||||
(manageUsersPerm != null && user.Permissions.Contains(manageUsersPerm.Id)) ||
|
||||
(fullControlPerm != null && user.Permissions.Contains(fullControlPerm.Id))
|
||||
);
|
||||
|
||||
if (!hasAccess)
|
||||
{
|
||||
MessageBox.Show(
|
||||
"Security Exception: You do not possess the required credentials ('Manage Users' or 'Full Control') to access directory configuration.",
|
||||
|
||||
Reference in New Issue
Block a user