我正在使用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中加载。