Упрощает охрану маршрута Vuejs только с помощью пароля - PullRequest
2 голосов
/ 11 октября 2019

Итак, я пытаюсь создать маршрутную охрану, в которой у пользователя запрашивается пароль, прежде чем он будет перенаправлен на приборную панель, но после всех настроек я могу получить доступ к приборной панели, набрав / dashboard в адресной строке. Что у меня есть:

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/dashboard',
      name: 'dashboard',
      component: home,
      props: true,
      beforeEnter: (to, from, next) =>{
        if (to.params.senha == to.params.mestre){
          next()
        } else{
          next({name: 'login'})
        }
      }

, где «senha» - это ввод пользователя, а «mestre» - мастер-пароль хранимой переменной в данных компонента входа в систему.

И это то, что отправленокомпонент входа в систему к маршрутизатору

toApp() {
      this.$router.push({
        name: "dashboard",
        params: { senha: this.senha, mestre: this.mestre }
      });

Я знаю, что это не безопасный метод для авторизации или чего-либо связанного, он очень прост для очень простого приложения.

что мне не хватает?

1 Ответ

1 голос
/ 14 октября 2019

Приведенная выше логика работает нормально, и ошибки не найдено

попробуйте жестко закодировать значения из роутера push и протестировать

this.$router.push({
        name: "dashboard",
        params: { senha: "senha", mestre: "senha" }
      });

Если все работает нормально, попробуйте напечатать значениев консоли перед маршрутизацией

console.log(this.senha, this.mestre);
this.$router.push({
        name: "dashboard",
        params: { senha: this.senha, mestre: this.mestre }
      });

Тем не менее, если вы обнаружите какие-либо проблемы, попробуйте проверить консоль на наличие ошибок

...