9

是否有一个完整的 Visual Studio 解决方案,其中包含一个带有使用 Kerberos 进行身份验证的 MVC 应用程序的项目。这又会调用 ASP.Net Web API 服务项目(在同一解决方案中),在服务调用(GetAsync 或 PostAsync)期间将凭据委派给服务?

我在凭据方面遇到了一个特定问题,其中 Web API 项目中的模拟用户作为运行 MVC 应用程序的服务帐户通过,而不是发出请求的用户。我已经找到了解决特定问题的特定行或代码的示例,但我真的在寻找一个将所有内容结合在一起的单一解决方案。

我看过Pro ASP.NET Web API SecurityASP.Net Web-API Security等资源,但没有一个包含完整的解决方案,展示了如何为 windows Authenticaiton,特别是 Kerberos 实现授权方案。

我认识到这可能有点超出了通常的问题,但如果可能的话,我更喜欢完整的解决方案,而不是发布特定的代码问题。

4

1 回答 1

2

当 MVC Web 应用程序运行初始查询时,用户的身份将附加到处理请求的线程。如果您进行异步 Web 服务调用,则远程调用由与用户身份没有附件的线程池线程进行。您可以尝试传递对当前身份的引用(来自HttpContext)并模拟,但似乎存在您需要避免的竞争条件。

当然,这是假设远程调用在同步进行时有效。你走到那一步了吗?

于 2013-05-29T00:11:05.167 回答