向使用Web API的MVC应用程序添加授权/身份验证的推荐方法是什么?

时间:2016-04-20 14:52:39

标签: asp.net asp.net-mvc-4 authentication asp.net-web-api2 asp.net-identity-2

在大多数情况下,我使用AD通过IIS锁定应用程序。在这种情况下,我需要创建一个MVC应用程序,它将具有一些Web API控制器和身份验证/授权(角色)。我当时想要尝试使用我在其他几个帖子中找到的堆栈溢出建议。

https://identityserver.github.io/Documentation/docs/overview/mvcGettingStarted.html

我在Stack Overflow中看到的大多数答案都引用了上面的链接

离)。 Implementing Authentication and role based authorization in ASP.NET MVC web API service and MVC client architecture

我对社区的问题是,如果上面列出的身份服务器方法是针对此方案的最佳解决方案,并且有其他资源,那么对于将组合Web Api / MVC项目添加身份验证/授权的经验还应该看一下吗?

1 个答案:

答案 0 :(得分:1)

根据您的要求(使用MVC站点进行身份验证,然后被授权使用Web API),您需要一个OpenID Connect Provider,例如Identity Server 3(又称安全令牌服务(STS),授权服务器,等等)。基本上是MVC站点和Web API都信任的东西。

这里的基本流程是您的用户将使用MVC站点上的OpenID Connect进行身份验证,之后他们可以获取访问令牌以授权使用OAuth访问Web API。

上述教程是最好的开始方式。接近结束时,它将指导您代表用户访问API。

ASP.NET Identity是一个用户/标识存储。它不会为您的应用程序添加身份验证或授权。