This commit is contained in:
2025-07-03 14:57:57 +07:00
parent be4de9f24a
commit 1b05076317
22 changed files with 631 additions and 35 deletions

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
export default defineNuxtRouteMiddleware((to) => {
// const auth = useAuthStore()
// const requiredPermission = to.meta.permission
// console.log('requiredPermission', auth)
// const userRole = auth.user?.role
// if (!auth.user) {
// return navigateTo('/login')
// }
// if (requiredPermission && !auth.hasPermission(requiredPermission)) {
// return navigateTo('/unauthorized')
// }
// // Kalau kamu mau batasi halaman berdasar role:
// const allowedRoles = to.meta.roles
// if (allowedRoles && !allowedRoles.includes(userRole)) {
// return navigateTo('/unauthorized')
// }
const { status, data: session } = useAuth();
if (status.value === "unauthenticated") {
console.log("status:", status.value);
} else {
console.log("status:", status.value);
}
console.log('masuk middeleware auth-menu')
console.log('route:', to.fullPath)
return navigateTo('/sample-page-copy')
})
+40
View File
@@ -0,0 +1,40 @@
// middleware/auth.ts
import { useAccess } from '~/composables/useAccess'
export default defineNuxtRouteMiddleware((to) => {
const { getRole, getPermissionsByPath } = useAccess()
const role = useAccess()
// const perms = getPermissionsByPath(to.path)
// const meta = to.meta
// Jika belum login, redirect ke halaman login
const isLoggedIn = !!role // role
if (!isLoggedIn) {
console.log('[ NOT LOGGED IN]', { path: to.path })
//return navigateTo('/login') //
}
// // Validasi permission
// const rolePass = !meta.role || meta.role.includes(role)
// const permissionPass = !meta.permission || meta.permission.every(p => perms.includes(p))
// if (!rolePass || !permissionPass) {
// console.log('[ ACCESS DENIED]', {
// path: to.path,
// role,
// requiredRole: meta.role,
// permissions: perms,
// requiredPermission: meta.permission
// })
// return navigateTo('/403') // Halaman tidak punya akses
// }
return navigateTo('/sample-page-copy')
// Semua valid, lanjut ke halaman
// console.log('[ACCESS GRANTED]', {
// path: to.path,
// role,
// permissions
// })
})