angularjs的身份验证 - 如何定义默认访问级别?

时间:2014-04-08 18:26:49

标签: javascript angularjs authentication express

我正在尝试为我的角度应用程序实现客户端身份验证,并且我遇到了一些问题,试图为新来者定义初始访问级别。

 app.use(express.static(path.join(__dirname, '../app')));

    app.get('/', function(req, res){
        console.log('inside auth');

        var role = routingConfig.userRoles.public,
            username = '';

        if(req.user) {
            role = req.user.role;
            username = req.user.username;
        }

        res.cookie('user', JSON.stringify({
            'username': username,
            'role': role
        }));

        res.render('index');
    });

代码来自我的express node server.js文件

'作用'是我定义用户访问级别的地方(匿名'角色'无法访问需要登录的页面)。我正在尝试定义默认角色'对于第一次访问该页面的人,但似乎我没有进入app.get(' /')因为我在第一次加载页面时看不到控制台日志。我的假设是因为我在任何身份验证发生之前都在提供静态文件,但是我无法想出办法来解决这个问题。

帮我plz =)

1 个答案:

答案 0 :(得分:0)

如果您更改app.get和app.use的顺序,您应该能够达到您想要的效果。 记得在get方法(下一个)中指定第三个参数

app.get('/', function(req, res, next){
    console.log('inside auth');

    // put your logic here
    // once you're done call next so static pages could be served
    next()
});

app.use(express.static(path.join(__dirname, '../app')));