SharePoint 2010 ashx处理程序匿名访问

时间:2011-06-07 15:55:35

标签: sharepoint ashx anonymous

我在网上看到了很多关于如何通过继承UnsecuredLayoutsPageBase等来允许匿名访问特定SharePoint应用程序页面的信息。

如何为布局目录中的ashx处理程序实现相同的功能?默认情况下,SP将需要身份验证才能访问处理程序。我可以通过允许匿名访问网站本身来解决这个问题,但我无法逃脱...我只需要匿名访问处理程序。我试图将web.config文件放在与处理程序相同的目录中,并允许匿名访问,但仍然无效。

1 个答案:

答案 0 :(得分:3)

我有同样的情况。你说你“无法逃脱[...]允许匿名访问网站本身”,所以我不确定我的解决方案是否适合你,但现在是:

  1. 启用对SharePoint的匿名访问(http://www.topsharepoint.com/enable-anonymous-access-in-sharepoint-2010的步骤1 - 6)
  2. 在IIS管理器中,将“匿名身份验证”设置为包含ashx文件的布局子文件夹。 (SharePoint似乎仍然需要对应用程序页面进行身份验证,因为它们从LayoutsPageBase扩展而来)。
  3. 或者,在我的开发站点上,我启用了SharePoint匿名访问,从IIS管理器启用了匿名访问,然后创建了2个web.config规则

    <system.web>
        <authorization>
            <deny users="?" />
        </authorization>
        ...
    </system.web>
    <location path="_layouts/Folder/Anonymous.ashx">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    

    但是,我认为该版本过于复杂。我更喜欢第一种选择。