【问题标题】:SharePoint 2003 - deny access using web.configSharePoint 2003 - 使用 web.config 拒绝访问
【发布时间】:2009-07-27 22:35:14
【问题描述】:

众所周知,Sharepoint 2003 具有简单的访问权限特权。您只能授予权限(读者、贡献者、管理员),但不幸的是您不能拒绝访问。因此,如果有人在 SharePoint 门户中不受欢迎,则没有简单的方法可以限制他的访问。

我发现了一些不错的文章如何使用 web.config 保护对特定页面的访问:

<authorization>
  <allow users="MySuperAdmin"/>
  <deny users="*"/>
</authorization>

但是...它在我的两个 SharePoint 安装(测试和实时)中不起作用。无论我在&lt;authorization&gt; 标签中输入什么,我仍然可以进入 SharePoint 页面。即使我拒绝所有人的访问,就像这样:

<authorization>
  <deny users="*"/>
</authorization>

...我仍然可以看到所有页面(使用我的本地管理员用户或任何其他非管理员用户)。

你能帮忙看看我的代码有什么问题吗?

【问题讨论】:

    标签: sharepoint web-config access-control sharepoint-2003


    【解决方案1】:

    您应该能够使用标准 SharePoint 2003 功能设计这些安全要求,而不是编辑 web.config 文件。

    关键是,如果用户不存在于任何组中,则他们无权访问。因此,只需添加应该有权访问的用户/域组,而不是其余的。

    【讨论】:

    • 我很确定这是对的,但我已经有一段时间没有接触 SPS 2003 了。
    • 您说得对,这可能是一个解决方案,但这需要重新设计存储在 ActiveDirectory 中的当前用户组配置。我正在寻找一个选项,我可以在其中指定一个限制门户访问权限的组(例如:前雇员)。
    • 您要回答的另一个问题:对 web.config 中的授权标记所做的修改是否适用于 SharePoint 2003?也许还需要一些其他更改?
    • SharePoint 2003 是一个 ASP.NET 1.1 应用程序,因此您在 web.config 中指定的任何内容都应该适用于它。见科林的回答:)
    【解决方案2】:

    您是否尝试在帖子中的授权标签周围添加位置标签?即像这样:

    <location path="_layouts/images">
      <system.web>
        <authorization>
          <allow users="*" />
        </authorization>
      </system.web>
    </location>
    

    附:亚历克斯的答案最终是正确的,尽管这意味着在 Active Directory 中到处乱扔东西。我们在我的公司也是这样做的。

    【讨论】:

    • 我也试过这个 - 这也没有用。谁能确认 SharePoint 忽略了 web.config 中的授权标记,这是正常行为(因此可以在其他 SharePoint 2003 安装中重现)?
    猜你喜欢
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多