generated from pascalmartineau/wp-skeleton
feat: Initial middleware
This commit is contained in:
13
wp-content/themes/ccat/app/middleware/isAdmin.ts
Normal file
13
wp-content/themes/ccat/app/middleware/isAdmin.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export default defineNuxtRouteMiddleware((to) => {
|
||||
const { loggedIn, session } = useUserSession();
|
||||
if (!loggedIn.value) {
|
||||
return navigateTo(`/connexion?redirect=${encodeURIComponent(to.fullPath)}`);
|
||||
}
|
||||
const isAdmin = session.value?.user?.roles?.includes("administrator") || false;
|
||||
if (!isAdmin) {
|
||||
throw createError({
|
||||
statusCode: 403,
|
||||
statusMessage: "Accès refusé - Privilèges administrateur requis",
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user