Browse Source

check if user is enabled

frontend doesn't handle this state yet, nothing will work as api routes will fail
pull/1402/head
Bernd Storath 7 months ago
parent
commit
4454a0451b
  1. 2
      src/server/middleware/auth.ts
  2. 7
      src/server/middleware/session.ts

2
src/server/middleware/auth.ts

@ -25,7 +25,7 @@ export default defineEventHandler(async (event) => {
if (!user) { if (!user) {
return sendRedirect(event, '/login', 302); return sendRedirect(event, '/login', 302);
} }
if (!user.enabled || user.role !== 'ADMIN') { if (user.role !== 'ADMIN') {
throw createError({ throw createError({
statusCode: 403, statusCode: 403,
statusMessage: 'Not allowed to access Admin Panel', statusMessage: 'Not allowed to access Admin Panel',

7
src/server/middleware/session.ts

@ -78,6 +78,13 @@ export default defineEventHandler(async (event) => {
}); });
} }
if (!user.enabled) {
throw createError({
statusCode: 403,
statusMessage: 'Account is disabled',
});
}
if (url.pathname.startsWith('/api/admin')) { if (url.pathname.startsWith('/api/admin')) {
if (user.role !== 'ADMIN') { if (user.role !== 'ADMIN') {
throw createError({ throw createError({

Loading…
Cancel
Save