将格式化的ACL信息嵌入Symfony2中的JSON
我正在我的项目中使用Symfony2及其ACL安全组件。我想使用前端框架中的ACL信息来显示/隐藏元素 在当前对象上为当前用户附加格式化的ACL信息是一个糟糕的安全想法吗 假设用户拥有查看和编辑对象的权限,那么JSON数据如下所示:将格式化的ACL信息嵌入Symfony2中的JSON,json,symfony,symfony-security,Json,Symfony,Symfony Security,我正在我的项目中使用Symfony2及其ACL安全组件。我想使用前端框架中的ACL信息来显示/隐藏元素 在当前对象上为当前用户附加格式化的ACL信息是一个糟糕的安全想法吗 假设用户拥有查看和编辑对象的权限,那么JSON数据如下所示: { "id": 1, "name": "Product", "_permissions": ["VIEW", "EDIT"] } 此解决方案可能导致哪些安全漏洞?我认为不存在安全问题。您将同意在数据中包含对象的id和类型不会有问题:-)。因此,我们唯一
{
"id": 1,
"name": "Product",
"_permissions": ["VIEW", "EDIT"]
}
此解决方案可能导致哪些安全漏洞?我认为不存在安全问题。您将同意在数据中包含对象的id和类型不会有问题:-)。因此,我们唯一应该关注的是
视图
和编辑
属性。这些价值观不是秘密。它们是Symfony文档的一部分。因此,只有当您拥有该对象的这些权限时,才与信息有关
如果将JSON
与数据一起返回,我认为VIEW
属性实际上不是额外的信息,因为如果您没有VIEW
权限,它将不会返回。因此,这里提供的唯一信息是用户是否可以编辑该对象
如果您仔细考虑,您会同意,如果您在服务器端根据权限决定是否将该对象的编辑链接添加到html页面,您将提供相同的信息
因此,如果您执行isgrated(“EDIT”,$product)
来决定是否将该编辑作为JSON的一部分返回,我看不到任何安全漏洞