【发布时间】:2014-03-20 11:27:41
【问题描述】:
我使用的是 Alfresco 4.2e 社区版。我可以通过修改以下文件来限制特定组的站点创建。
在public-services-security-context.xml
org.alfresco.service.cmr.site.SiteService.createSite=ACL_METHOD.ROLE_ADMINISTRATOR,ACL_METHOD.GROUP_SITECREATORS
在 sites.get.js 和 mysites.get.js 我添加了这个
var createSiteVisible = userHasGroup(user.name, 'SITECREATORS');
model.createSiteVisible = createSiteVisible;
function userHasGroup(username, group) {
var result = remote.call("/api/people/" + stringUtils.urlEncode(username) + "?groups=true");
if (result.status == 200 && result != "{}")
{
var user = eval('(' + result + ')');
var groups = new Array();
groups = user.groups;
var mygroups = "";
for (i=0; i<groups.length; i++)
{
if (groups[i].itemName == "GROUP_"+group || groups[i].itemName == "GROUP_ALFRESCO_ADMINISTRATORS"){
return true; // found group
}else{
mygroup = mygroups+groups[i].displayName;
}
}
return false;
}
else return false;
}
在 my-sites.get.html.ftl 和 sites.get.html.ftl 中,我将条件修改为
<#if createSiteVisible>
<span class="align-right yui-button-align">
<#if showCreateSite>
<span class="first-child">
<a href="#" id="${id}-createSite-button" class="theme-color-1">
<img src="${url.context}/res/components/images/site-16.png" style="vertical-align: text-bottom" />
${msg("link.createSite")}</a>
</span>
</#if>
</span>
</#if>
用户现在无法创建站点。但我仍然在标题菜单中获得创建站点链接。如何为用户隐藏创建站点。
!user.isAdmin 指管理员用户。什么是引用组的 java 脚本?谢谢
【问题讨论】:
标签: alfresco-share