将Meteor.js中的路由限制为特权用户

时间:2013-07-26 07:02:07

标签: security meteor

如何应用路由安全原则?

必须在客户端完成。这是否意味着没有安全的方法来限制某些路由到特定用户。我知道Meteor.Router中的过滤器,但这些是在客户端定义的。


这是this comment curious2learn提出的问题。

4 个答案:

答案 0 :(得分:8)

不幸的是,你是对的,目前没有安全的方法来限制特定用户的路由。

在当前版本的Meteor中,整个客户端代码会立即发送给所有用户。这意味着所有的视图和模板都在那里,倾向的用户会找到一种方法来显示它们。

这当然并不意味着您不应该保护它们以便非特权用户不会意外地输入它们,您可以通过路由器过滤器或通过将整个模板打包在条件中来轻松完成。这只是意味着您不应该信任谁看到模板,因此您不应该将硬编码的敏感数据放在一个中。同样,永远不会信任客户端,甚至是您自己的代码(它可能被篡改)。

您唯一可以控制的是将在所述模板中提取和显示的数据。

答案 1 :(得分:0)

查看我的Accounts Admin UI包裹。它管理与Meteor帐户整齐集成的Roles包。默认情况下,角色不会发布到客户端。 Accounts Admin UI包含快速入门,并说明如何与Iron Router集成。

答案 2 :(得分:0)

答案 3 :(得分:0)

查看正在执行此项工作的https://atmospherejs.com/aumel/security-authorization(使用服务器端权限检查)并基于受欢迎的https://atmospherejs.com/alanning/roles