2011-06-07 41 views
2

我看过很多有关如何允许特定的SharePoint应用程序页面的匿名访问由UnsecuredLayoutsPageBase继承网站等SharePoint 2010中ASHX处理程序的匿名访问

如何能够做到同样的事情生活在布局目录中的ashx处理程序?默认情况下,SP将要求身份验证才能进入处理程序。我可以通过允许匿名访问网站本身来解决这个问题,但是我无法摆脱这种情况......我只需要匿名访问处理程序。我试图将web.config文件粘贴到与处理程序相同的目录中,并允许匿名访问,但这仍然无效。

+0

你有没有找到解决这个问题的方法?我有一个指向布局目录中的处理程序的web部件。它可以在我们的沙盒上正常工作,因为它允许匿名访问,但是我们无法在我们的prod服务器上进行匿名访问 – Mungoid 2011-11-17 20:28:55

回答

3

我有同样的情况。你说“你无法让匿名访问网站本身”,所以我不确定我的解决方案是否适用于你,但这里是:

  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> 

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

相关问题