zoukankan      html  css  js  c++  java
  • koa2实现拦截器进行登录前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 数组里。

    这里要注意:登录页面和登录接口都不能拦截!!!!
  • 相关阅读:
    java操作练习
    java认知
    java了解
    抽象类及抽象类
    杨辉三角实例菱形实例
    案例分析之运行顺序
    Object类的方法,toString的重写.
    多态
    类的继承
    面对对象
  • 原文地址:https://www.cnblogs.com/beileixinqing/p/9273243.html
Copyright © 2011-2022 走看看