首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨多个REST-API的Windows身份验证的单点登录?(Kerberos双跃点)

跨多个REST-API的Windows身份验证的单点登录?(Kerberos双跃点)
EN

Stack Overflow用户
提问于 2019-09-19 04:13:03
回答 1查看 1.2K关注 0票数 2

我有以下场景:(客户端/浏览器) => (Web Service/Web API) => (SharePoint REST-Api)。基本上,我想实现的是让中间应用程序(WebService/Web API)充当SharePoint-REST-API的门面,以简化需要与我们的SharePoint应用程序通信的任何人的开发。(基本上,我们在Web API/Facade中将一些SharePoint-request- call封装到一个调用中)。

现在的问题是,我还希望能够将登录的Windows用户(AD- user )从客户端发送到Web服务,然后web服务应该代表该Windows用户并执行SharePoint REST-API中所需的任何操作(这是为了确保对文件等的权限实际上是基于经过身份验证的用户设置的)。

到目前为止,我们尝试的是在一台服务器上设置Web Service,而在另一台服务器上设置SharePoint。然后,我们尝试使用Kerberos和委托设置身份验证,但无法正常工作。根据我提供的信息,你们认为如果我们设法正确设置Kerberos,像这样的“双跳”会起作用吗?

另一个打击我的想法是,也许我们不必在两个不同的服务器上托管Web Service和SharePoint应用程序,但实际上我们可以将它们都托管在具有两个站点的单个IIS服务器中的同一服务器上。这还需要Kerberos设置双跳吗?或者“跳跃”只在票证从一台服务器到另一台服务器时才计算..原因在这里描述的情况下,从Web服务到SharePoint-REST-API的请求永远不会离开实际的服务器,但它可能会跨域(如在web域中)。而不是AD域)。这可以工作吗,而不是不得不与Kerberos双跳,SPN和其他的麻烦..?

EN

回答 1

Stack Overflow用户

发布于 2019-09-19 16:22:16

使用集成身份验证时,此时将禁用匿名,并且模拟为enabled.so安全设置将不允许您的站点访问任何网络服务器上的资源。

当您使用集成身份验证向IIS服务器进行身份验证时,这将耗尽您的第一个“跳”。当IIS尝试访问网络设备时,这将是不允许的双跳或第二跳。iis不会将这些凭据传递给下一个网络设备。

如果您使用匿名启用和模拟关闭,则不会发生此问题。

要在iis中配置Kerberos身份验证,您可以执行以下步骤:

1)打开iis管理器,选择site。

2)在中间窗格中选择身份验证功能。

3)开启windows认证,关闭匿名。

4)使用Windows身份验证,单击操作窗格中的提供程序。

5)按照如下方式设置提供者:

谈判

NTLM

保存更改。

6)返回并选择配置编辑器。

从部分下拉列表中选择system.webServer/security/authentication/windowsAuthentication.

“useAppPoolCredentials”设置为true。

将"useKernelMode“设置为"True”并保存设置。

7)重启iis。

8)配置SPN

以管理员身份打开命令提示符,然后运行以下命令以检查机器名称:

代码语言:javascript
复制
hostname

当您有一个自定义主机名并想要将其注册到域帐户时,您需要在下面创建一个SPN a。

代码语言:javascript
复制
setspn -a HOST/${FQDN_HOST} ${MACHINE_NAME}
setspn -a http/${FQDN_HOST} ${MACHINE_NAME}

9)完成此操作后,将应用程序池标识设置为自定义帐户,并设置用户名和密码。

您可以参考下面的文章以获取更详细的信息:

https://weblogs.asp.net/owscott/iis-windows-authentication-and-the-double-hop-issue

https://active-directory-wp.com/docs/Networking/Single_Sign_On/SSO_with_IIS_on_Windows.html

https://techcommunity.microsoft.com/t5/IIS-Support-Blog/Setting-up-Kerberos-Authentication-for-a-Website-in-IIS/ba-p/324644

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58000128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档