Это мой код для requiresAuth
и requiresGuest
requiresAuth
: пользователи, которые удовлетворяют этому, не могут go войти на страницу входа или страницу регистрации (мета для /
)
requiresGuest
: Пользователи, которые удовлетворяют этому, не могут go до /
или любой другой странице, имеющей requiresAuth
meta для /login
и /signup
Эти 2 условия работают отлично для моего страница
Задача :
Step-1
Допустим, мне дали URL-адрес типа localhost:8000/api/createapi/.......
Step-2
Так что в настоящее время я не вошел в систему, я ввел выше URL
, и он перенаправляет меня на страницу log in
(что ожидается)
Step-3
Но когда я снова войду в систему, он перенаправит меня на /
(что не идеально )
Что я хочу :
После Step-2
Когда я вхожу в систему, он должен автоматически перенаправить меня на localhost:8000/api/createapi/.......
С тех пор был запрошенный URL в Step-1
router.beforeEach((to, from, next) => {
// check for required auth guard
if (to.matched.some(record => record.meta.requiresAuth)) {
requiresAuthLogic(to, next, from)
} else if (to.matched.some(record => record.meta.requiresGuest)) {
requiresGuestLogic(to, next)
} else {
// Proceed to route
next()
}
})
function requiresAuthLogic (to:Route, next:Function) {
// check if NOT logged in
if (!isUserLoggedIn()) {
// Go to login
next({
path: '/login',
query: {
redirect: to.fullPath
}
})
} else if (isUserEmailVerified() === true) {
// Proceed to route
next()
}
}
function requiresGuestLogic (to:Route, next:Function) {
if (isUserLoggedIn() && isUserEmailVerified() === true) {
next({
path: '/',
query: {
redirect: to.fullPath
}
})
} else {
// Proceed to route
next()
}
}