在使用koa-passport,koa-session中間件之後,可以進行用戶登錄的驗證,再配合此攔截器,可以實現進入所有頁面之前,對是否登錄做一個驗證,把不需要攔截的路由寫在 ...
//定義允許直接訪問的url const allowpage = ['/login','/api/login'] //攔截 function localFilter(ctx) { let url = ctx.originalUrl if (allowpage.indexOf(url) > -1) { logger.info('當前地址可直接訪問') }else { if (ctx.isAuthenticated()) { if(url==='/'){ ctx.redirect('/projectList') } console.log('login status validate success') } else { console.log('login status validate fail') console.log(ctx.request.url) ctx.redirect('/login') } } } //session攔截 app.use(async (ctx, next) => { localFilter(ctx) await next() })
在使用koa-passport,koa-session中間件之後,可以進行用戶登錄的驗證,再配合此攔截器,可以實現進入所有頁面之前,對是否登錄做一個驗證,把不需要攔截的路由寫在
allowpage 數組裡。
這裡要註意:登錄頁面和登錄介面都不能攔截!!!!