first pass of RBAC systems

This commit is contained in:
2025-10-19 23:57:14 -04:00
parent 06764ebeb4
commit 3cc5d0a981
3 changed files with 25 additions and 25 deletions

View File

@@ -37,16 +37,16 @@ const router = createRouter({
})
router.beforeEach(async (to) => {
const userStore = useUserStore()
const user = useUserStore()
// Make sure user state is loaded before checking
if (!userStore.loaded) {
if (!user.loaded) {
console.log('loaduser')
await userStore.loadUser();
await user.loadUser();
}
// Not logged in
if (to.meta.requiresAuth && !userStore.isLoggedIn) {
if (to.meta.requiresAuth && !user.isLoggedIn) {
// Redirect back to original page after login
const redirectUrl = encodeURIComponent(window.location.origin + to.fullPath)
window.location.href = `https://aj17thdevapi.nexuszone.net/login?redirect=${redirectUrl}`
@@ -55,14 +55,16 @@ router.beforeEach(async (to) => {
// Must be a member
if (to.meta.memberOnly && userStore.state !== 'member') {
if (to.meta.memberOnly && user.state !== 'member') {
return '/unauthorized'
}
// // Must have specific role
// if (to.meta.roles && !to.meta.roles.includes(userStore.role)) {
// return '/unauthorized'
// }
console.log(!user.hasRole("Dev"));
// Must have specific role
if (to.meta.roles && !user.hasRole('Dev') && !user.hasAnyRole(to.meta.roles)) {
return '/unauthorized'
}
})
export default router;