ASP.NET MVC + Web API2 + AngularJS授权和身份验证

san*_*zzz 10 asp.net asp.net-mvc authorization asp.net-web-api angularjs

我正在开发一个大型应用程序,它将包含后端的ASP.NET MVC和AngularJS + Web Api2.以前我在我的应用程序中使用过MVC表单授权.有很多例子如何使用AngularJS + Web Api进行基于令牌的授权,但找不到适合这两种情况的完整解决方案.

请向我提供一些信息,我可以在这里阅读这个主题,可能是分步示例,教程或博客,其中描述了两者的混合授权.

su8*_*898 10

  1. 在WebAPI2应用程序中实现ASP.Net Identity 2 是一个很好的实现ASP.Identity 2的教程.如果您将WebAPI和MVC5应用程序保存在不同的项目中,那就更好了.

  2. 决定是否要直接从AngularJS应用程序或MVC应用程序连接到API

  3. 如果直接从AngularJS应用程序调用API方法,请将此指令用于OAuth2.将access_token存储在localstorage或cookie中.

  4. 如果从您的MVC应用程序内部调用API方法,请将access_token存储在客户端(使用localstorage或cookie),并将其用于每次调用API.这是一个教程,展示如何将AngularJS与ASP.Net MVC5一起使用

  5. 确保在生产中使用安全连接(https).

更新

您可以使用默认的ASP.Net提供程序进行WebAPI.但是默认提供程序最适合EnityFramework.
我不是EF的粉丝所以我自己使用自定义提供商.以下是自定义标识提供程序的概述.这个MySQL示例帮助我实现了一个自定义提供程序(但我仍然使用SQL Server但使用我们自己的内部DAL).