【发布时间】:2014-06-25 13:24:18
【问题描述】:
请帮帮我,如果用户是管理员,我想显示一个 html 元素,否则隐藏该元素,
例子:
AngularJS:
$http.get('users.json'})
.success(function(data){
//data user return true and the value true represents admin
$scope.user = data.user;
});
HTML:
<h1 ng-show="user">Hello Admin</h1>
这里的问题,任何人都可以打开firebug或devTools并更改用户范围值。
【问题讨论】:
-
我不明白它为什么重要:它唯一的客户端视图,所以即使有人更改它并看到“管理员”,因为后端不会提供信息,这没什么大不了的
-
@apneadiving:我敢肯定
Hello Admin并不是他要在真正的应用程序中实现的。它会更多。 (管理员的东西) -
然后呢?那不是因为您可以看到可以访问内部内容的框(视图)(由后端保护)
-
但是如果你有一个不安全的后端......好吧......安全的基础一直是后端,而不是前端。另一个例子:隐藏链接并不能保证安全
-
我不认为
whats-inside在这里受到后端的保护。尝试是制作一个完整的客户端应用程序,我下面的解决方案建议 OP 切换到管理内容受后端保护的架构:)
标签: javascript ruby-on-rails json angularjs ruby-on-rails-4