我目前拥有一个使用默认“个人用户帐户”选项进行身份验证的MVC应用程序。这很好,我可以创建用户,登录并根据用户角色限制对控制器的访问。与Web API共享的MVC身份验证
我有一个单独的Web API应用程序,目前不使用任何身份验证。
这两个应用程序作为单独的站点托管在同一个IIS服务器上。我想将来自MVC应用程序的身份验证合并到Web API应用程序中,因此在用户登录到MVC应用程序后,还可以根据用户角色访问Web API应用程序中的相应控制器。
从我一直在阅读中,我需要在两个应用程序中设置<authentication mode='Forms'>
web.config
,并且由于它们位于同一台服务器上,所以身份验证会自动在两者之间共享。我已经尝试将[Authorize]
添加到Web API应用程序的控制器中的一个方法中,通过MVC应用程序登录并尝试访问该方法,但该方法从未输入。
这就是我一直在寻找:http://www.bipinjoshi.net/articles/436bc727-6de2-4d11-9762-9ee1a1e3cbea.aspx
缺少什么我在这里?我希望有人能指出我正确的方向。
如果你的主机在同一台主机上你的MVC和Web API的连接才能正常工作。但就你而言,事实并非如此。我建议你应该使用持有人Jwt Token在你的web api和mvc之间进行单点登录。 –