![](/img/trans.png)
[英]authenticate MVC website user from Web API by using MVC Core Identity
[英]Passing user identity from MVC to Web Api
我有一个使用Windows Auth的MVC应用程序,它使用Web Api服务。 两者都托管在同一个域中,但坐在不同的服务器上(MVC可公开访问)。 现在让我们假设Web Api服务有一个方法“CreateFooBar”,它要求用户在特定的AD组中。 在MVC层,我可以轻松地检查用户是否确实在组中,打包JSON消息并调用“CreateFooBar”。 但是服务如何执行此类检查? 如何判断哪个用户提出了请求?
最初的想法是将userID添加到JSON消息中,让服务方法检索详细信息,但这样可以让某人只传入他们喜欢的任何用户ID,这样就不会有效。 有人能指出我正确的方向吗?
您应该使用类似Kerberos委派的东西。 将使用Kerberos在MVC应用程序中对用户进行身份验证,然后将Kerberos令牌传递给Web API调用。
我们目前正在努力将凭据从ASP.NET应用程序传递到Exchange Web服务器。 它工作正常。
如果您想了解更多信息,请查看此KB: http : //support.microsoft.com/kb/810572
您应该了解Windows身份基础可以为您做什么。 通过在您的环境中设置adfs并使用声明,您将解决大多数您正在讨论的问题。
你需要visual studio的身份和访问插件,你可以使用自托管的sts测试这个想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.