gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 10:42:55 26 4
gpt4 key购买 nike

我是 MEAN 堆栈的新手...我正在构建的当前应用程序是使用 meanjs 和 yeoman 搭建的。

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

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

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

我面临的主要问题是我不知道如何确保某些路由仅供管理员使用。我知道这可以用 angular 和 express/node 来完成,但我不知道如何实现。

我在谷歌上搜索了 3 天,遇到有人从头开始构建(看起来与我当前的代码或文件夹结构完全不同),或者没有进行任何类型的路由限制/授权/授权。我还查看了 meanjs 文档,但一点帮助也没有。

如有任何建议、帮助和学习地点,我们将不胜感激。

最佳答案

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

正如您提到的,用户架构可以具有 useradmin Angular 色。

关于服务器端,您将有一个 policies 目录,其中包含一个 js 文件,指定允许哪些路由,同时考虑到访问该路由的用户的 Angular 色。这些权限由名为 node_acl 的 Node 模块管理。你可以看一个例子 here .

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

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

关于angularjs - 不确定如何使用 meanjs 限制路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com