有什么方法可以阻止用户创建会议工作区?

时间:2008-09-23 01:43:28

标签: sharepoint outlook integration

我在sharepoint中有一个事件列表,需要禁止用户在新事件表单中创建会议工作区。羞于自定义新的事件表单(打破附件支持),如何做到这一点?

4 个答案:

答案 0 :(得分:2)

默认情况下,为了让用户创建会议工作区,他们需要是管理员或站点所有者(特别是他们需要“创建站点”权限)。如果您未授予他们此权限,他们将无法创建会议工作区。

这将禁止用户在设置了这些权限的站点下创建任何站点。我不知道如何限制对特定网站定义的访问,但仍然允许用户创建不同的网站定义。

答案 1 :(得分:0)

我认为没有一种支持的方式来做到这一点。一种选择是在C:\ Program Files \ Common Files \ Microsoft Shared \ web server extensions \ 12 \ TEMPLATE \ 1033 \ XML \ WEBTEMP.XML中编辑WEBTEMP.XML文件(当然首先进行备份)。将这些行注释如下:

    <!-- <Template Name="MPS" ID="2">
    ...    
    </Template> -->

编辑此文件并在服务器场中的每台服务器上执行IISRESET后,您将无法再创建会议工作区。

答案 2 :(得分:0)

如果你可以在主页面上获得一些javascript,我想出了这个小小的黑客。

它确实有一些缺点,MS可能会释放一个修补程序或服务包:

  • 更改“使用会议工作区来组织此事件的与会者,议程,文档,会议记录和其他详细信息”复选框,以便字符串“CrossProjectLinkField”不再出现在名称中,或者。 ..

  • 他们可以在其他一些OOTB标记的某个其他输入元素的名称中使用相同的字符串

在梯形图中(我现在并不完全确定它是假的),如果它们运行的​​是运行此脚本的母版页,这些输入将被禁用。

但这是我可以处理的风险。您可以在依赖客户ID和其他人控制的名称时随时运行这些风险。

<script type="text/javascript">    
    var anchors = document.getElementsByTagName('input');
    for(var i=0;i<anchors.length;i++)
    {
        var anchorName = anchors[i].name.match('CrossProjectLinkField');
        if(anchorName != null)
        {
            anchors[i].disabled = true;
            break;
        }
    }
</script>

这样做是找到允许用户创建会议工作区并禁用它的复选框,以便他们无法检查它。问题解决了!

答案 3 :(得分:0)

使用功能接收器创建一个Web范围功能,该功能接收器删除激活该功能的当前Web,并使其抛出一个SPException,指出该模板无法使用。然后创建Web应用程序或服务器场范围功能订书机,将先前功能固定到要阻止的网站定义。在Web应用程序或服务器场上激活该功能。然后当有人从其中一个网站定义创建一个网站时,该网站将被删除,并向用户显示一个错误页面,显示抛出的SPException文本。