不知道如何使用meanjs限制路线

我是相当新的平均堆栈…目前我正在build设的应用程序,我用meanjs和yeoman脚手架出来。

我想要用户,我希望pipe理员pipe理这些用户(创build/删除用户,添加其他pipe理员)。 meanjs构build的方式是:

roles: { type: [{ type: String, enum: ['user', 'admin'] }], default: ['user'] 

我在数组中添加了“admin”。 这是处理这个问题的好方法还是有更安全的方法?

我面临的主要问题是我无法弄清楚如何确保只有pipe理员的某些路线。 我知道这可以做angular度和快递/节点,但我不知道如何实现。

我已经使用Googlesearch了3天,并且遇到了从头开始构build的人(看起来没有像我当前的代码或文件夹结构),或者没有执行任何types的路由限制/授权/身份validation。 我也看了一下这个文档,根本没有帮助。

任何build议,帮助,学习的地方将不胜感激。

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

正如你所提到的,用户架构可以有useradminangular色。

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

关于客户端,当你为angular模块定义路由时( 这里的例子,在一些路由中记下data: {roles: ['user', 'admin']} ),检查用户是否是允许访问该路由的方法是在用户进入特定路由(或者换句话说,当事件$stateChangeStart被触发)时检查他的angular色,这在MEAN.JS中是在这个文件中发生的。

您可能正在使用旧版本的MEAN.JS,但是如果您按照最新版本中的示例进行操作,则可以在您的应用中使用它。

检查http://passportjs.org/进行身份validation。

Scotch.io有一个伟大的教程来设置你的模型和护照authentication。 https://scotch.io/tutorials/easy-node-authentication-setup-and-local

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

祝你好运! 希望你发现阅读很有帮助。