某些路线的会话权限

时间:2017-08-01 12:23:40

标签: node.js session

我遇到了问题,主要是我在阅读很多东西并且让自己感到困惑。 我有一个有9个部分路线的应用程序。

我有用户访客的2个会话 res.session.role 我试图允许用户访问所有部分内容,如果您是访问者,则允许访问2个部分内容

会话是在加载时通​​过ldap搜索创建的。

我怎么看待它?

路由

app.config(function($routeProvider) {
   $routeProvider
       .when('/',{templateUrl: '/partial/home'})
...
...
and so on...
})

views.js

router.get('/', function(req, res) {
    res.render('index')
})

app.js

app.use('/', routes)
app.use('api', api)

我用

尝试了这个
function rolecheck(req, res, next) {
    if(req.session.role === 'user'){
        next()
    } else {
        res.redirect('/#/flow')
    }
}

此操作因ERR_TOO_MANY_REDIRECTS

而失败

1 个答案:

答案 0 :(得分:0)

创建中间件模块,该模块将检查用户的角色,如果用户通过验证,中间件将执行next()回调,否则将重定向用户某处 然后将此中间件添加到您的路由中,如下所示:

app.use('/', middleware, routes);