代码改变世界

Sharepoint 2010 根据用户权限隐藏Ribbon菜单(利用css)

  四毛的家  阅读(490)  评论(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菜单。

 

原文:http://blogs.msdn.com/b/zwsong/archive/2010/04/29/how-to-hide-ribbon-from-users-without-edit-page-privilege.aspx

说明:id为s4-ribbonrow的div是Ribbon菜单所在的容器div。

关于PermissionsString可以选择的值,请参考:http://msdn.microsoft.com/zh-cn/library/ms412690

编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示