如何让sharepoint2010网站根据权限隐藏ribbon

项目要求让普通用户看不到“网站操作”,为了解决该问题,我找了好几篇博客,但都是sharepoint2007,按照sharepoint designer签出,签入,审批,发布。可能是sharepoint2007和sharepoint2010的区别,发布后我的首页直接出错。之后还原了v4.master的版本也无济于事。只好将sharepoint还原,甚是麻烦。

于是想到直接修改v4.master文件,修改之前备份,这样即使出错只修改将备份文件还原就可以了,不需要用到sharepoint designer签入,签出,审批,发布。

搜索v4.master,有两个文件,一个是在C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS目录下,另一个是在C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\GLOBAL下,仔细分析v4.master文件,不难发现SharePoint:SPRibbon这样的sharepoint控件拥有权限控制,权限格式如下:PermissionsString="EditListItems, AddAndCustomizePages"    PermissionMode="All"    顾名思义,PermissionsString就是哪些权限拥有可见权限,PermissionMode就是权限模式。

我们将SharePoint:SPRibbon修改成如下:

<SharePoint:SPRibbon
			runat="server"
			PlaceholderElementId="RibbonContainer"
			CssFile=""
                            FixedPositioningEnabled="true"
                            PermissionsString="EditListItems, AddAndCustomizePages"
                            PermissionMode="All">

这样一般权限的用户就看不到ribbon了。

但“网站操作”还在,我们想办法隐藏,于是想当然

<SharePoint:SiteActions runat="server" accesskey="<%$Resources:wss,tb_SiteActions_AK%>" id="SiteActionsMenuMain"
						PrefixHtml=""
						SuffixHtml=""
						MenuNotVisibleHtml="&nbsp;"
						PermissionsString="EditListItems, AddAndCustomizePages"
                           
PermissionMode="All">

 结果页面报错,出错原因是SharePoint:SiteActions没有PermissionsString属性。

于是Google了一番,找到将SharePoint:SiteActions和span放在<Sharepoint:SPSecurityTrimmedControl即可。

<Sharepoint:SPSecurityTrimmedControl   ID="SPSecurityTrimmedControl2" runat="server"   PermissionsString="EditListItems, AddAndCustomizePages"
                            PermissionMode="All">
					   <span class="ms-siteactionsmenu" id="siteactiontd">
					   <SharePoint:SiteActions runat="server" accesskey="<%$Resources:wss,tb_SiteActions_AK%>" id="SiteActionsMenuMain"
						PrefixHtml=""
						SuffixHtml=""
						MenuNotVisibleHtml="&nbsp;"
						>
........

</SharePoint:SiteActions></span>
</Sharepoint:SPSecurityTrimmedControl>

 大工告成。

修改之前首页如下:

如何让sharepoint2010网站根据权限隐藏ribbon_第1张图片

 

 

 

 修改之后首页如下:

如何让sharepoint2010网站根据权限隐藏ribbon_第2张图片

 

注:本人使用的是Project Server网站。博客园若有研究Project Server童鞋,欢迎一起探讨。

你可能感兴趣的:(SharePoint)