1
我正在编写一个流星应用程序,并且已经习惯了新的铁路路由器软件包(与之前使用的路由器软件包相反)。铁路由器路由允许/拒绝
我有一个只能由具有特定属性的用户访问的路由集合。具体来说,我使用的是角色包。我目前实现这一目标的方法是定义一个运行条件的before函数,如果用户没有适当的角色,则会重定向到登录或错误页面。这里只是一个快速(咖啡脚本)的例子:
this.route 'home',
path: '/'
template: 'dashboard'
before: ->
unless Meteor.userId()
this.redirect 'userUnauthorized'
do this.stop
我的问题是,有没有更好的方法来做到这一点?似乎应该有一些方法来添加权限集,并将该权限集应用于路由,而不是为每条路由编写访问条件。
嗨斯宾塞。你的方法是否安全?我的意思是,路由器在客户端上可用。 –
无论是否重定向,您都无法阻止用户看到您发送给客户端的任何模板。正如你所说,路由器可以在客户端上使用,据我所知,路由更像是UI/UX类型的东西。 您可以并且应该做的是确保您不会向用户发送任何收集或数据,而这些用户不应该看到它们,并且您可以执行此操作。如果您将敏感数据嵌入到视图模板中,则会出现问题。最终,用户可以访问我们应用的任何页面。该页面上呈现的内容基于该用户的角色/权限。 – Spencer