обработка аутентификации для защищенных страниц и маршрутов - PullRequest
0 голосов
/ 09 июля 2020

Я надеюсь получить некоторую ясность от сообщества о правильном подходе к проверке пользователя перед тем, как показать ему следующую страницу, и о том, как обрабатывать проверку после того, как он попадет на страницу. Это излишек или типичный?

Я использую защиту маршрутизатора как таковую:

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) действителен или нет, и если нет, перенаправляет их обратно на страницу входа.

Звучит правильно?

...