Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement role-based access control for Blazor pages #254

Open
3 tasks done
hoeyi opened this issue Jun 2, 2024 · 1 comment
Open
3 tasks done

Implement role-based access control for Blazor pages #254

hoeyi opened this issue Jun 2, 2024 · 1 comment
Assignees
Labels
area: identity Identity and access management feature New feature or request type: user story User story

Comments

@hoeyi
Copy link
Owner

hoeyi commented Jun 2, 2024

Statement

As an admin, I want to define and assign access permissions to users so that I can control access to pages and features within the app.

Description

Implement a role-based access control system for the pages in the app. It would be helpful if the role definition could be fine-grained down to pages, but simple admin/viewer/editor roles will suffice.

Acceptance Criteria

Describe the conditions by which this requirement will be satisfied.

  • Managing Users: Admins can assign roles to users.

    • Admins can view a list of users and their current roles.
    • Admins can add/remove roles to/from users that govern page and function access.

  • Role-Specific Access: Users can only access pages their assigned roles grant.

    • Users are restricted from accessing features that are not allowed for their roles.

  • Auditing and Reporting: Admins can view audit logs of role assignment and access attempts.

    • Admins can view a log of all role assignments and changes.

@hoeyi hoeyi added the type: user story User story label Jun 2, 2024
@hoeyi hoeyi self-assigned this Jun 2, 2024
@hoeyi hoeyi added area: ui/ux User interface or experience area: data services Data worker services labels Jun 2, 2024
@hoeyi hoeyi added the feature New feature or request label Aug 2, 2024
@hoeyi hoeyi added area: identity Identity and access management and removed area: ui/ux User interface or experience area: data services Data worker services labels Aug 30, 2024
@hoeyi
Copy link
Owner Author

hoeyi commented Sep 8, 2024

Deferring the following for later features:

  • Custom role creation.
  • Access attempt logging and unauthorized access mitigation measures.
  • Enforced logins (e.g., cookie expiration such that a new login is required).

hoeyi added a commit that referenced this issue Sep 8, 2024
- Updates the individual identity management support to .NET 8 version.
- Adds UI support for creating, edits, and assigning roles.
- Adds page- and area-scoped authorizations, requiring an assigned role to access most pages.
- Removes obsolete code from data access layer.
- Miscellaneous layout and CSS fixes.
- Cleans up null-reference warnings in web project.
- Adds built-in identity roles and related entity migrations.

Resolves #254
@hoeyi hoeyi mentioned this issue Sep 8, 2024
hoeyi added a commit that referenced this issue Sep 15, 2024
Add cross-platform Docker installation and data migration scripts. Port existing scripts to batch scripts. Resolves #249, #250, #251.

Add role-based access control to most pages, including built-in superuser for creating additional users. Resolves #252, #254.

Remove majority of obsolete code from data access layer and resolve null-reference errors is web layer.

Resolves #249 
Resolves #250 
Resolves #251 
Resolves #252 
Resolves #254
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: identity Identity and access management feature New feature or request type: user story User story
Projects
None yet
Development

No branches or pull requests

1 participant