Logo

Remove Role Management

This guide explains how to remove the role management pages. The default "Admin" and "User" roles will remain, but you won't be able to manage role membership through the UI.

Before You Decide

Consider if you need role management:

Step 1: Delete Role Management Pages

Delete the entire Pages/Admin/Roles/ folder, which contains:

Step 2: Update Admin Dashboard

In Pages/Admin/Index.cshtml, remove the Roles link:

<!-- DELETE: Roles management card -->
<div class="col-md-4">
    <div class="card">
        <div class="card-body">
            <h5 class="card-title">Roles</h5>
            ...
        </div>
    </div>
</div>

Step 3: Keep Role Assignment in User Management

If you're keeping user management, ensure role assignment still works on the Create User and Edit User pages:

This allows role assignment without a separate role management section.

Step 4: Update Admin Navigation

If you have an admin navigation menu, remove the Roles link.

Managing Roles via Database

After removing the UI, manage roles directly in SQL:

-- View all roles
SELECT * FROM AspNetRoles;

-- View users in Admin role
SELECT u.Email, u.DisplayName 
FROM AspNetUsers u
INNER JOIN AspNetUserRoles ur ON u.Id = ur.UserId
INNER JOIN AspNetRoles r ON ur.RoleId = r.Id
WHERE r.Name = 'Admin';

-- Add user to Admin role
DECLARE @UserId NVARCHAR(450) = (SELECT Id FROM AspNetUsers WHERE Email = 'user@example.com');
DECLARE @RoleId NVARCHAR(450) = (SELECT Id FROM AspNetRoles WHERE Name = 'Admin');
INSERT INTO AspNetUserRoles (UserId, RoleId) VALUES (@UserId, @RoleId);

-- Remove user from Admin role
DELETE FROM AspNetUserRoles 
WHERE UserId = (SELECT Id FROM AspNetUsers WHERE Email = 'user@example.com')
  AND RoleId = (SELECT Id FROM AspNetRoles WHERE Name = 'Admin');

Verification

After removal, verify: