如何使用环回保护服务器视图和客户端视图

时间:2016-02-02 20:54:13

标签: javascript node.js angular-ui-router loopbackjs strongloop

我正在尝试根据角色保护我的应用程序的视图。在laravel中,解决方案只是添加中间件作为路由参数的一部分。还希望使用Angular SPA应用程序在客户端完成相同的功能。抱歉,无论如何,我认为这是两个问题。

https://laravel.com/docs/5.1/authentication#protecting-routes

任何简单的解决方案来实现这一目标?

1 个答案:

答案 0 :(得分:0)

在Angular中,您可以在Interceptor中实现相同的逻辑。

app.factory('ApiInterceptor', function() {
    return {
         'request': function(config) {
               //check config.url against users roles somehow
               disallow = doesTheUserHaveTheCorrectRoles(config.url);
               //disallow the request to the API
               if(disallow){
                    alert('No!');
                    return false;
               }else{
                    return config;
               }
         }
    }
}

查看HTTP拦截器https://docs.angularjs.org/api/ng/service/ $ http

上的文档

或者您可以使用运行块执行相同的操作,并在位置更改时执行某些操作;

app.run(function ($rootScope) {
    $rootScope.$on("$locationChangeStart", function (event, next, current){
               disallow = doesTheUserHaveTheCorrectRoles(next);
               //disallow access to the next location
               if(disallow){
                    alert('No!');
                    return false;
               }else{
                    return config;
               }
    });
});

https://docs.angularjs.org/guide/module