SharePoint 2010 ashx 处理程序匿名访问

标签 sharepoint ashx anonymous

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

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

最佳答案

我也遇到过同样的情况。您表示您“无法摆脱[...]允许匿名访问网站本身”,所以我不确定我的解决方案是否适合您,但它是:

  1. 启用对 SharePoint 的匿名访问(http://www.topsharepoint.com/enable-anonymous-access-in-sharepoint-2010 的步骤 1 - 6)
  2. 在 IIS 管理器中,对包含 ashx 文件的布局子文件夹启用匿名身份验证。 (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>

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

关于SharePoint 2010 ashx 处理程序匿名访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268063/

相关文章:

c# - 如何修复 'IdentityModel.dll not found' ?

c# - 如何在aspx中创建一个json数组

c# - 删除上传的文件,如果它没有移动到另一个文件夹

.net - 如何从 WPF 应用程序调用 .ashx 处理程序?

javascript - 无法立即在 Javascript 中调用匿名函数

javascript - 通过designer 2013添加js以删除sharepoint上的功能区

sharepoint - 在 SharePoint 2013 中以不同用户身份登录

SharePoint,您如何以编程方式确定SPWeb的存储大小?

javascript - 自执行匿名函数返回

c++ - 匿名命名空间类定义