Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建AngularJS ACL的最佳方法是什么?_Javascript_Node.js_Angularjs_Mean Stack - Fatal编程技术网

Javascript 创建AngularJS ACL的最佳方法是什么?

Javascript 创建AngularJS ACL的最佳方法是什么?,javascript,node.js,angularjs,mean-stack,Javascript,Node.js,Angularjs,Mean Stack,我想和你们(社区)分享我的问题 我使用MEANstack,所以我使用Node.js与Express和AngularJS一起使用,我有一个应用程序 我在Node\Express\Jadecode中使用passport作为身份验证策略。 我想在我的页面上创建管理部分来管理用户和其他东西 我还想通过在$routeProvider中添加一些访问控制来保护异步加载的AngularJS站点,如: $routeProvider.when('/admin/users', { templateUrl: '

我想和你们(社区)分享我的问题

我使用
MEAN
stack,所以我使用
Node.js
Express
AngularJS
一起使用,我有一个应用程序

我在
Node\Express\Jade
code中使用
passport
作为身份验证策略。 我想在我的页面上创建管理部分来管理用户和其他东西

我还想通过在$routeProvider中添加一些访问控制来保护异步加载的AngularJS站点,如:

$routeProvider.when('/admin/users', {
    templateUrl: '/views/admin/users.html',
    auth: {
        required: true,
        roles: ['admin']
    }
})
这是我想在实际解决方案中实现的唯一伪代码。
如果用户未登录,则应重定向至
/sign
页面,如果用户已登录且没有适当的角色查看此页面,则应重定向至带有自定义信息的适当视图。

查看UI路由器:

这很酷,你可以根据你想要的任何安全方案拦截状态变化


我们使用的是基于权限/角色/组的安全方案,效果非常好。

我更喜欢在服务器端处理访问控制,如果用户不能访问它,就不向用户提供任何服务。然后,我输入并解释来自服务器的响应,以执行诸如重新路由到登录表单之类的操作

这允许真正灵活的安全机制。例如,我可以使用防火墙为您描述的内容配置后端安全性(其中路由“/admin”及其所有子体都应该受到保护)。我可以使用ACL保护单个对象,或者使用允许对发出请求的用户进行更复杂分析的
SecurityManager


也许这不是对你问题的直接回答,而是鼓励你以不同的方式处理问题。不过,我认为这是一种比我在纯JS访问控制方面见过的任何方法都要好的方法。

问题既过于宽泛,又过于固执己见。如果您包括设置的分解、代码片段等,我将+1;)