2016-01-13 80 views
0

我想根据登录用户的权限显示页面的各个部分。我的模板看起来是这样的:用户可以编辑Meteor模板助手中的代码吗?

{{#if hasPermissions permission="SectionA"}} 
Section A code... 
{{/if}} 

{{#if hasPermissions permission="SectionB"}} 
Section B code... 
{{/if}} 

我的模板助手将包含一个名为hasPermission方法,它作为一个参数permission。该方法的结果将是布尔真/假关于用户是否有权限。

我需要知道的是,最终用户是否可以在客户端编辑hasPermissions代码,或者在发送结束之前放置中断点并更改结果?用户无法破解客户端代码以允许他们查看他们不允许看到的内容,这一点非常重要。

如果是,用户可以编辑代码的情况下 - 什么是实现基于权限的网页的显示部分的方式吗?

+4

“用户无法破解客户端代码非常重要” - 不会发生。用户可以用你发给他的东西来做任何事情。他甚至不能通过网络浏览器进行连接,而只能使用其他软件的DDP连接并检查结果。使用订阅和方法在服务器端管理您的安全性,而不是在客户端。 –

+2

@你没错。客户端上的任何事情都会发生。如果用户越过您的权限,则应该在服务器端进行检查,以确保他们不能执行或更改其定义的角色或权限以外的任何内容。 –

回答

1

您应该总是检查权限服务器端只推送允许的数据到客户端。

然后客户端代码是否被黑客攻击,您的模板可能会显示“空壳”的,一个允许用户将看到,但他/她不会看到任何数据。

在单个页面应用程序,如流星,没有多少选择的余地;有人可能会显示黑客模板,但只要模板本身在没有数据的情况下没有用处,黑客客户端代码就会浪费时间。

相关问题