【发布时间】:2017-05-06 18:37:17
【问题描述】:
例如,我的组件模板中有这部分代码:
<input type="text" class="form-control" [(ngModel)]="profileUser.role" name="role" [disabled]="!isAdmin">
在我的组件模块中,我有:
if (this.currentUser.role == "Admin")
{
this.isAdmin = true;
}
我想只为那些具有“管理员”角色的用户授予编辑此输入字段的权限,并为其他用户禁用此字段(但向他们显示 profileUser.role 的当前值)。
这是安全的解决方案,还是可以破解输入标签属性并访问禁用字段,然后更改其值并使用提交按钮更新它。
如果第二个陈述是正确的,请建议以最安全的方式在 ngForm 上显示此类数据,并以 ngModel 双向绑定为界。
【问题讨论】:
-
是的,当然用户可以在他们的计算机上做任何他们想做的事情。他们可以毫不费力地将脚本、模板和值更改为任何内容。不,这根本不重要,因为您肯定会检查用户在服务器上的角色,因此即使他们更改了输入字段,它也不会做任何事情。
-
谢谢,我明白了。
标签: angular typescript angular-ngmodel angular2-ngmodel ngmodel