首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不确定如何使用meanjs限制路由

不确定如何使用meanjs限制路由
EN

Stack Overflow用户
提问于 2015-08-13 07:32:07
回答 2查看 531关注 0票数 2

我还是个新手...我正在构建的当前应用程序,我使用了meanjs和yeoman来搭建它。

我想要用户和管理员来管理这些用户(创建/删除用户,添加其他管理员)。meanjs构建它的方式是:

代码语言:javascript
运行
复制
roles: {
type: [{
    type: String,
    enum: ['user', 'admin']
}],
default: ['user']

我将'admin‘添加到数组中。这是处理这个问题的好方法,还是有更安全的方法?

我面临的主要问题是我不知道如何确保某些路由只对管理员有效,我知道这可以用angular和express/node来实现,但我也不知道如何实现。

我已经用谷歌搜索了3天,我遇到了一些人从头开始构建(看起来一点也不像我现在的代码或文件夹结构),或者没有做任何类型的路由限制/授权/身份验证。我也看过meanjs文档,一点帮助都没有。

任何建议,帮助,学习的地方都会非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2015-08-14 17:22:00

如果你看看MEAN.JS 0.4.0版本(主分支here),它已经在服务器和客户端实现了路由限制。

正如您所提到的,用户模式可以具有useradmin角色。

关于服务器端,您将拥有一个policies目录,其中包含一个js文件,该文件指定允许哪些路由,并考虑到访问该路由的用户所具有的角色。这些权限由一个名为node_acl的节点模块管理。您可以查看一个示例here

关于客户端,当您为angular模块定义路由(例如here,请注意某些路由中的data: {roles: ['user', 'admin']} )时,检查用户是否被允许访问该路由的一种方法是在用户转到特定路由时(或者换句话说,当事件$stateChangeStart被触发时)检查他的角色,这在MEAN.JS中是在这个file中发生的。

您可能正在使用较旧版本的MEAN.JS,但如果您遵循最新版本中的示例,也许可以让它在您的应用程序中工作。

票数 1
EN

Stack Overflow用户

发布于 2015-08-13 09:28:06

查看用于身份验证的http://passportjs.org/

Scotch.io有一个很棒的教程,可以帮助你设置模型和护照身份验证。https://scotch.io/tutorials/easy-node-authentication-setup-and-local

在您的节点应用程序中设置Passport后,您可以使用中间件轻松保护您的Angular视图和API路由。

祝好运!希望你觉得这本书对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31977125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档