关联控制 - 拒绝访问
Association control - access denied
我正在使用 Alfresco Share 4.2c 和 association.ftl 来显示关联并允许选取存储库中的对象。我 运行 遇到了为无权查看关联对象的用户显示元数据的问题。
我收到一个错误:
模板处理错误:
"get(properties) failed on instance of org.alfresco.repo.template.TemplateNode" org.alfresco.repo.template.TemplateNode 实例上的 get(properties) 失败。
有问题的指令:------------
==> ${row.item.properties.name!""} 转义 ${jsonUtils.encodeJSONString(row.item.properties.name!"")} [第 36 行,第 42 列 org/alfresco/repository/forms/pickerresults.lib.ftl]
在用户指令 pickerResultsLib.pickerResultsJSON [第 2 行,第 1 列 org/alfresco/repository/forms/pickeritems.post.json.ftl]
和 AccessDeniedException。
感谢对此问题的任何帮助或建议。
我还想在文档详细信息页面上添加一个带有文本 "Access denied" 的标签。
也许我必须创建自定义 association.ftl?
提前致谢!
复制/alfresco/templates/webscripts/org/alfresco/repository/forms/pickerresults.lib.ftl到扩展文件夹,改成如下循环
<#list results as row>
{
"type": "${row.item.typeShort}",
"parentType": "${row.item.parentTypeShort!""}",
"isContainer": ${row.item.isContainer?string},
"name": "${row.item.properties.name!""}",
"title": "${row.item.properties.title!""}",
"description": "${row.item.properties.description!""}",
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
"displayPath": "${row.item.displayPath!""}",
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
"selectable" : ${row.selectable?string}</#if>
}<#if row_has_next>,</#if>
</#list>
用额外的if row.item.hasPermission("Read")封装内部
像这样:
<#list results as row>
<#if row.item.hasPermission("Read")>
{
"type": "${row.item.typeShort}",
"parentType": "${row.item.parentTypeShort!""}",
"isContainer": ${row.item.isContainer?string},
"name": "${row.item.properties.name!""}",
"title": "${row.item.properties.title!""}",
"description": "${row.item.properties.description!""}",
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
"displayPath": "${row.item.displayPath!""}",
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
"selectable" : ${row.selectable?string}</#if>
}<#if row_has_next>,</#if>
</#if>
</#list>
我正在使用 Alfresco Share 4.2c 和 association.ftl 来显示关联并允许选取存储库中的对象。我 运行 遇到了为无权查看关联对象的用户显示元数据的问题。 我收到一个错误:
模板处理错误: "get(properties) failed on instance of org.alfresco.repo.template.TemplateNode" org.alfresco.repo.template.TemplateNode 实例上的 get(properties) 失败。 有问题的指令:------------ ==> ${row.item.properties.name!""} 转义 ${jsonUtils.encodeJSONString(row.item.properties.name!"")} [第 36 行,第 42 列 org/alfresco/repository/forms/pickerresults.lib.ftl] 在用户指令 pickerResultsLib.pickerResultsJSON [第 2 行,第 1 列 org/alfresco/repository/forms/pickeritems.post.json.ftl]
和 AccessDeniedException。
感谢对此问题的任何帮助或建议。 我还想在文档详细信息页面上添加一个带有文本 "Access denied" 的标签。 也许我必须创建自定义 association.ftl? 提前致谢!
复制/alfresco/templates/webscripts/org/alfresco/repository/forms/pickerresults.lib.ftl到扩展文件夹,改成如下循环
<#list results as row>
{
"type": "${row.item.typeShort}",
"parentType": "${row.item.parentTypeShort!""}",
"isContainer": ${row.item.isContainer?string},
"name": "${row.item.properties.name!""}",
"title": "${row.item.properties.title!""}",
"description": "${row.item.properties.description!""}",
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
"displayPath": "${row.item.displayPath!""}",
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
"selectable" : ${row.selectable?string}</#if>
}<#if row_has_next>,</#if>
</#list>
用额外的if row.item.hasPermission("Read")封装内部 像这样:
<#list results as row>
<#if row.item.hasPermission("Read")>
{
"type": "${row.item.typeShort}",
"parentType": "${row.item.parentTypeShort!""}",
"isContainer": ${row.item.isContainer?string},
"name": "${row.item.properties.name!""}",
"title": "${row.item.properties.title!""}",
"description": "${row.item.properties.description!""}",
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
"displayPath": "${row.item.displayPath!""}",
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
"selectable" : ${row.selectable?string}</#if>
}<#if row_has_next>,</#if>
</#if>
</#list>