SharePoint 2010 ashx处理程序匿名访问

SharePoint 2010 ashx处理程序匿名访问,sharepoint,ashx,anonymous,Sharepoint,Ashx,Anonymous,我在网上看到了大量关于如何通过继承UnsecuredLayoutPageBase等来允许匿名访问特定SharePoint应用程序页面的信息 对于位于layouts目录中的ashx处理程序,如何实现同样的功能?默认情况下,SP需要身份验证才能访问处理程序。我可以通过允许匿名访问网站本身来解决这个问题,但我不能逃避…我只需要匿名访问处理程序。我曾尝试将web.config文件粘贴到与处理程序相同的目录中,并允许匿名访问,但仍然不起作用。我遇到了相同的情况。你说你“无法逃脱[…]允许匿名访问网站本身”

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


对于位于layouts目录中的ashx处理程序,如何实现同样的功能?默认情况下,SP需要身份验证才能访问处理程序。我可以通过允许匿名访问网站本身来解决这个问题,但我不能逃避…我只需要匿名访问处理程序。我曾尝试将web.config文件粘贴到与处理程序相同的目录中,并允许匿名访问,但仍然不起作用。

我遇到了相同的情况。你说你“无法逃脱[…]允许匿名访问网站本身”,所以我不确定我的解决方案是否适合你,但这里是:

  • 启用对SharePoint的匿名访问(中的步骤1-6)
  • 在IIS管理器中,启用对包含ashx文件的layouts子文件夹的匿名身份验证。(SharePoint似乎仍然需要对应用程序页面进行身份验证,因为它们是从LayoutsPageBase扩展而来的)
  • 或者,在我的开发网站上,我启用了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>
    
    
    ...
    

    然而,我认为这个版本过于复杂了。我更喜欢第一种选择。

    你有没有找到解决办法?我有一个指向layouts目录中的处理程序的Web部件。它在我们的沙箱上运行良好,因为它允许匿名访问,但我们不能在prod服务器上允许匿名访问