Skip to content

Security: Client-side-only authorization filtering for menu/routes#1167

Open
tuanaiseo wants to merge 1 commit intozuiidea:masterfrom
tuanaiseo:contribai/fix/security/client-side-only-authorization-filtering
Open

Security: Client-side-only authorization filtering for menu/routes#1167
tuanaiseo wants to merge 1 commit intozuiidea:masterfrom
tuanaiseo:contribai/fix/security/client-side-only-authorization-filtering

Conversation

@tuanaiseo
Copy link
Copy Markdown

Problem

Authorization appears to be enforced primarily by filtering UI menu items based on currentAdmin.permissions. This is a presentation-layer control and can be bypassed by directly navigating to routes or invoking APIs from the browser/devtools unless the server independently enforces authorization.

Severity: medium
File: src/layouts/PrimaryLayout.tsx

Solution

Treat frontend permission checks as UX only. Enforce route/API authorization on the backend for every protected resource. Optionally add route guards that validate permission claims before rendering sensitive pages.

Changes

  • src/layouts/PrimaryLayout.tsx (modified)

Testing

  • Existing tests pass
  • Manual review completed
  • No new warnings/errors introduced

…menu/

Authorization appears to be enforced primarily by filtering UI menu items based on `currentAdmin.permissions`. This is a presentation-layer control and can be bypassed by directly navigating to routes or invoking APIs from the browser/devtools unless the server independently enforces authorization.

Affected files: PrimaryLayout.tsx

Signed-off-by: tuanaiseo <221258316+tuanaiseo@users.noreply.github.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 10, 2026

@tuanaiseo is attempting to deploy a commit to the Zui Idea's projects Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant