Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无需身份验证即可访问Sharepoint Web服务_Sharepoint_Moss_Wss - Fatal编程技术网

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

无需身份验证即可访问Sharepoint Web服务,sharepoint,moss,wss,Sharepoint,Moss,Wss,是否可以在未经授权的情况下访问sharepoint web服务?如果你做不到这一点,directley你能想出任何方法来解决它吗?比如在中间有一个开放的服务,使用公共帐户为你进行身份验证。我认为你做不到,Web服务执行的大多数操作都需要一个具有正确权限设置的显式用户。如果两个站点都是内部站点,您的选项可能包括 使用自动NTLM身份验证,为完整的已验证用户组提供必要的acecss。使用IE或FireFox的适当扩展将自动传递凭据,而无需用户提示。您的里程可能会有所不同 在对Web服务的调用中显式

是否可以在未经授权的情况下访问sharepoint web服务?如果你做不到这一点,directley你能想出任何方法来解决它吗?比如在中间有一个开放的服务,使用公共帐户为你进行身份验证。

我认为你做不到,Web服务执行的大多数操作都需要一个具有正确权限设置的显式用户。如果两个站点都是内部站点,您的选项可能包括

  • 使用自动NTLM身份验证,为完整的已验证用户组提供必要的acecss。使用IE或FireFox的适当扩展将自动传递凭据,而无需用户提示。您的里程可能会有所不同

  • 在对Web服务的调用中显式地将正确的凭据传递给默认用户 从另一个网站

  • 如果你觉得有创意,这是一个来自Reza Alirezaei的博客,他在博客中介绍了将匿名用户映射到特定帐户的步骤。如果您设法给该帐户适当的权限,那么您就在那里了。不过,对胆小的人来说不是

    • 约翰

      您试图通过web应用程序访问相关web服务的安全模型将决定您是否可以匿名访问该服务。如果您试图通过启用匿名访问的web应用程序访问web服务,则可以访问web服务。继续在匿名网站上尝试此操作(如果您有):。您将返回友好服务页面,无需验证

      这里有一个陷阱:一旦您遍历了web服务层,您就有了另一个需要处理的安全层。SharePoint本身会像平常一样检查通过web服务的访问权限,因此除非您尝试操作或尝试访问允许匿名用户访问的数据,否则您将被阻止

      你有几个选择:

    • 只需确保您尝试做的每件事都是匿名允许的。这听起来可能很容易,但实际上,除了最简单、最直接的操作之外,任何操作都可能非常困难。大多数组织也不喜欢开放到这种程度

    • 如果控制调用web服务的代码,则可以将凭据附加到web服务请求。我建议从这里开始,因为这将使事情变得比试图把一切都敞开容易得多。将凭据附加到web服务代理上的示例很多(例如)

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

    • 我希望这有帮助

      • 肖恩

      我想在另一个您不登录的内部网站上显示sharepoint中的一些内容。Sean-我也认为,如果IIS和sharepoint都设置为非匿名访问,那么您将能够匿名访问web服务。结果证明你做不到——试试看!你的评论让我思考,Ryan,所以我做了一些额外的研究和玩弄。尽管我进行了大量的挖掘,但我还是无法想出一个通过web服务匿名访问SharePoint数据的例子。虽然web服务端点是可用的,但看起来不可能钻取。谢谢你抓住这个,我向任何我可能误导的人道歉。在我上面提到的选项中,“2”和“3”看起来是唯一的“真实”选项。作为一个小的后续:这篇微软的文章涵盖了匿名开放的内容:我已经连续4天试图确定为什么我在通过身份验证后无法调用FBA网站上的web服务。这就是原因。我已通过身份验证,但我的SharePoint CurrentUser仍然为空/匿名,因此当SharePoint检查我尝试访问的列表上的授权时,它拒绝我使用403进行访问。我正在从客户端应用程序调用web服务,因此需要使用选项3。从我的web服务调用SP web服务更好,还是只在我的web服务中使用SP API更好?