我有以下设置:
- ServerA,带有 asp.net mvc 站点的 Web 服务器
- ServerB,具有 asp.net Web Api 服务的 Web 服务器
ServerA 上的 MVC 站点使用 ServerB 上的 Web Api 服务。用户登录 MVC 站点,但 Web Api 中的某些服务方法要求用户具有特定角色等,因此我需要能够在 Web Api 级别对用户进行身份验证。
出于这个原因,我尝试设置 Kerberos。ServerA 已被信任用于委派。MVC 网站在已设置为委派的网络用户帐户(我们在此将其称为 ServiceAccount)下运行。我为此设置了一个 SPN。但是,从 MVC 网站到 Web Api 的所有请求都显示用户是 ServiceAccount,而不是 MVC 网站的实际登录用户。
有关 Kerberos 的信息似乎很零散,所以我很难找到解决方案。有人知道这里可能出了什么问题吗?
谢谢
答案1
在毫无进展之后,我最终找到了以下文章:http://blogs.msdn.com/b/canberrapfe/archive/2012/01/02/kerberos-troubleshooting.aspx特别是“第 5 节”中的说明。该部分介绍了如何设置一个非常基本的测试来排除 Kerberos 双跳故障,这对我帮助我完成了自己的设置。