【问题标题】:Restricting cq5 component data限制 cq5 组件数据
【发布时间】:2013-10-14 16:51:22
【问题描述】:

我不想公开的 cq5 组件中有一个字段。有什么方法可以限制一个字段,使其只能通过 jsp 调用或服务器上的其他方法使用,但如果您从 JSON 调用请求信息则不可用?

【问题讨论】:

  • 什么是请求 URL?还有你试图通过读取这个组件的属性来实现的用例是什么
  • 我正在读取组件的属性以支持 javascript 组件。基本上,如果我有一个带有 2 个文本字段(publicText 和 privateText)的简单组件,并且我将它放在一个页面上,我可以使用如下 URL 请求信息:
  • localhost:8080/content/test/jcr:content/par/test/pr_par_1358357006352.json.3.json 并得到类似的东西 { "jcr:lastModifiedBy": "admin", "sling:resourceType": "dev/components/test", "publicText": "foo", "privateText": "bar", "jcr:lastModified": "Tue Apr 02 2013 10:40:40 GMT-0700", "jcr:primaryType": "nt:unstructured", } 我想这样做,所以 privateText 字段是不可用,但 publicText 字段是

标签: aem sling


【解决方案1】:

一种方法可能是在具有公共字段的节点的 节点上创建私有字段。然后使用用户权限来限制对该子节点的访问。在服务器端代码中,您需要通过有权读取它的帐户来访问它。

另一种选择可能是加密私有值,这样即使它可以通过 .json url 查看,它也毫无意义。服务器端代码将拥有解密它的密钥,因此它可以在那里使用。

我认为您不能在 CRX 中设置属性的权限——我相信安全模型仅在节点级别应用权限。根据JCR specification

16.3.9 访问属性

对属性的访问由有效的访问控制控制 其父节点的策略。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多