繁体   English   中英

将用户身份从MVC传递到Web Api

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM