C# 使用Kerberos、Web API和MVC的示例项目

C# 使用Kerberos、Web API和MVC的示例项目,c#,asp.net-mvc,C#,Asp.net Mvc,是否有一个完整的VisualStudio解决方案,其中包含一个使用Kerberos进行身份验证的MVC应用程序项目。这反过来调用ASP.NETWebAPI服务项目(在同一个解决方案中),在服务调用(GetAsync或PostAsync)期间将凭据委托给服务 我在凭据方面遇到了一个特定的问题,Web API项目中的模拟用户是作为运行MVC应用程序的服务帐户而来的,而不是发出请求的用户。我已经找到了修复特定问题的特定行或代码的示例,但我真的在寻找一个将所有内容结合在一起的单一解决方案 我已经看到了一

是否有一个完整的VisualStudio解决方案,其中包含一个使用Kerberos进行身份验证的MVC应用程序项目。这反过来调用ASP.NETWebAPI服务项目(在同一个解决方案中),在服务调用(GetAsync或PostAsync)期间将凭据委托给服务

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

我已经看到了一些资源,例如和,但是没有一个包含完整的解决方案,展示了如何为windows Authenticationon,特别是Kerberos实现授权方案


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

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


当然,这是假设远程调用在同步进行时可以工作。你做到了吗?

是的,我确实让WebClient工作了。因为发送数据对象比较困难,所以我希望使用新的HttpClient。但在我读到的内容中,我似乎被网络客户端卡住了。