关联控制 - 拒绝访问

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>