请帮助我,我想显示一个html元素,如果用户是admin,则隐藏元素,
例:
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并更改用户范围值。
答案 0 :(得分:1)
你绝对正确地猜测上述方法根本不安全。
解决方案是将本地数据发送到服务器并让它返回安全内容,然后动态注入到dom中。
即。您的管理员相关内容并不总是出现在客户端,并且只有在身份验证之后(可能通过AJAX)获取并呈现。
这使您的应用更加安全。
您可能还希望在客户端应用程序中查看以下用于安全身份验证的机制:
https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/