Я надеюсь получить некоторую ясность от сообщества о правильном подходе к проверке пользователя перед тем, как показать ему следующую страницу, и о том, как обрабатывать проверку после того, как он попадет на страницу. Это излишек или типичный?
Я использую защиту маршрутизатора как таковую:
function route_guard(to, from, next) {
document.title = to.meta.title
if (to.meta.auth == true) {
axios.post(api_url + /is-active)
.then(response => {
if (response.status == 200){
next();
}
})
.catch(error => {
if (error.response.status == 401){
next('/login');
}
})
}
else {
next();
}
}
{ path: '/dash', component: Dash, beforeEnter : route_guard, meta: { auth: true, title: 'Cool Dash' } }
Dashboard. vue образец вызывается один раз / страница панели управления называется
methods: {
load_page() {
axios.defaults.withCredentials = true;
axios.post(this.api_url + '/dashboard')
.then(response => {
this.z = response.data
})
.catch(error => {
this.response_message = error.response.data.message
})
}
}
Моя попытка с помощью route_guard logi c состоит в том, чтобы не позволять никому продолжать переход к следующей странице, если они не аутентифицированы, но затем, если 200
предоставлен, они переместятся в / панель приборов. Я борюсь с тем, что на странице /dashboard
VueJS я вызываю маршрут /dashboard
api для загрузки данных для этой страницы VueJS, но у меня есть этап проверки на этом маршруте, чтобы убедиться, что они аутентифицированы . Кажется, здесь происходит слишком много переходов, чтобы проверить, действителен ли пользователь. В этом подходе я проверяю, прежде чем они войдут на страницу панели мониторинга, а затем снова, когда они попадут на страницу панели мониторинга, чтобы загрузить правильные данные, связанные с их учетной записью.
Маршрут /is-active
проверяет, проверяет ли их сеанс id (указанный в запросе от повара ie) действителен или нет, и если нет, перенаправляет их обратно на страницу входа.
Звучит правильно?