Sharepoint 2010 根据用户权限隐藏Ribbon菜单(利用css)
2011-09-19 16:10 四毛的家 阅读(483) 评论(0) 编辑 收藏 举报前面两篇文章介绍了,如果根据命令项ID隐藏相关命令项。当然你也可以根据用户权限来隐藏某些命令项或者命令项所在的组了。本文介绍的是根据用户权限隐藏整个Ribbon菜单项。
操作环境:Windows Server 2008 r2+ SharePoint 2010
1.关于SharePoint 权限详细请参考:http://msdn.microsoft.com/zh-cn/library/ms412690
默认Sharepoint 以将权限分组:完全控制,设计,参与讨论,读取,首先访问,仅读取 等6组,然后将权限组指定给具体用户。 下面图片是完全控制权限的详细。
http://hi.csdn.net/attachment/201109/19/254870_1316419087H3pb.jpg
当然你也可以创建自己的权限组。但这不是本文重点。
2.利用权限隐藏Ribbon菜单,需要用到SPSecurityTrimmedControl 控件,它有个PermissionsString属性用来指定权限只有拥有该权限的用户,它里面的代码才会执行。
下面就详细介绍具体操作:
1.用SPD 2010打开需要隐藏Ribbon菜单的站点,并打开正使用的母版页,默认是v4.master
2.右击该母版页,选择在高级模式下编辑文件,找到下面的代码(修改前注意备份v4.master,以免造成不可挽回的灾难):
<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">
将其改成:
<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle" style="display:none">
3.在我们上的找到的div标签的结束标签的后面,添加如下代码:
<Sharepoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl2" runat="server" PermissionsString="AddAndCustomizePages">
<script type="text/javascript">
document.getElementById("s4-ribbonrow").style.display = "block";
</script>
</Sharepoint:SPSecurityTrimmedControl>
4.保存并发布母版页
这样只有具有AddAndCustomizePages权限的用户访问,才会出现Ribbon菜单。
说明:id为s4-ribbonrow的div是Ribbon菜单所在的容器div。
关于PermissionsString可以选择的值,请参考:http://msdn.microsoft.com/zh-cn/library/ms412690