added postgresql integration for user permissions

This commit is contained in:
Atakan Kayman
2026-05-31 15:54:46 +03:00
parent 374067dd2e
commit 7e18f84c42
10 changed files with 558 additions and 103 deletions
+18 -4
View File
@@ -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.",