无需身份验证即可访问Sharepoint Web服务

Joh*_*ohn 3 sharepoint moss wss

是否可以在不进行身份验证的情况下访问sharepoint Web服务?如果你不能这样做,你可以想办法绕过它,比如在中间打开一个使用公共帐户进行身份验证的开放服务.

Sea*_*ugh 8

约翰,

您尝试访问相关Web服务的Web应用程序的安全模型将驱动您是否可以匿名访问该服务.如果您尝试通过启用了匿名访问的Web应用程序访问Web服务,那么您将能够访问Web服务.继续在匿名网站(如果有的话)上尝试:http://yoursitehere/_vti_bin/lists.asmx.您将获得友好的服务页面,无需验证.

这是一个问题:一旦您遍历Web服务层,您就可以获得另一层安全性来处理.SharePoint本身将要像通常那样通过Web服务检查访问权限,因此除非您尝试操作或尝试访问匿名用户允许的数据,否则您将被阻止.

你有一些选择:

  1. 只需确保匿名允许您尝试执行的所有操作.这听起来很容易,但除了最简单直接的操作之外,其他任何事情都很难.大多数组织也不关心在这种程度上开放事物.

  2. 如果您控制调用Web服务的代码,则可以将凭据附加到Web服务请求.我建议从这里开始,因为这将会使事情很多比试图抛开一切敞开容易.将凭证附加到Web服务代理(例如,http://msdn.microsoft.com/en-us/security/cc178918.aspx)存在大量示例

  3. 最后,您可以编写自己的Web服务来包装感兴趣的SharePoint Web服务(或服务).您可以允许匿名访问您的Web服务,然后在您自己的服务中采用适当的安全上下文来访问具有所需权限级别的SharePoint.

我希望这有帮助!

  • 肖恩

  • 你的评论让我思考,瑞安,所以我做了一些额外的研究和玩耍.尽管我正在进行挖掘,但我无法想象一个匿名访问SharePoint数据的示例.虽然Web服务端点可用,但看起来不太可能钻取.感谢您抓住这一点,并向任何可能误导我的人道歉.在我上面提到的选项中,#2和#3看起来是唯一的"真实"选项.作为一个小的后续行动:这篇MS文章涵盖了匿名开放的内容:http://technet.microsoft.com/en-us/library/ee191479.aspx (3认同)