Перенаправить на страницу входа или на панель управления Sammy JS - PullRequest
0 голосов
/ 29 августа 2018

Я использую Sammy Js для маршрутизации Jquery, и мне нужно проверить логин. Если пользователь уже вошел в систему, то страница может перейти на запрошенный URL. Но если пользователь не вошел в систему, он должен быть перенаправлен на страницу входа, какой бы ни был запрошенный URL. Я хочу сделать это в определении приложения. проверка не должна быть размещена на каждой странице

(function($) {
      var app =$.sammy('#pages', function() {
        this.before(/.*/, function() {
          var token=sessionStorage.getItem('access_token');
          if(!token){
            this.redirect('#/oAuth/Login');
          }
        });
        this.get('#/', function(context){
          var token=sessionStorage.getItem('access_token');
          if(!token){
            this.redirect('#/oAuth/Login');
          }
          else{
            this.redirect('#/Dashboard');
          }
        })
        this.get('#/oAuth/Login', function(context){
          (context.$element()).empty();
          context.render('login.html').appendTo(context.$element());
          $(document).attr("title", "OrangeTrac- Login");
        })
        this.get('#/Dashboard', function(context) {
          (context.$element()).empty();
          $(document).attr("title", "OrangeTrac- Dashboard");
          context.render(url).appendTo(context.$element());
        });
      });
      app.run('#/');
    })(jQuery);

У меня проблема с этим кодом ...

this.before(/.*/, function() {
   var token=sessionStorage.getItem('access_token');
   if(!token){
   this.redirect('#/oAuth/Login');
   }
});

Это правильно перенаправляет URL, но и страницы входа в систему и панель инструментов загружаются в DOM.

...