Asp.net
ASP.NET MVC + Web API2 + AngularJS 授權和認證
我正在開發一個大型應用程序,它將由後端的 ASP.NET MVC 和 AngularJS+Web Api2 組成。以前我在我的應用程序中使用過 MVC 表單授權。有很多範例如何通過 AngularJS+Web Api 使用基於令牌的授權,但找不到適合這兩種情況的完整解決方案。
請提供一些資訊,我可以在其中閱讀有關此主題的資訊,可能是分步範例、教程或部落格,其中描述了兩者的混合授權。
- 在您的 WebAPI2 應用程序中實現 ASP.Net Identity 2這是一個很好的實現 ASP.Identity 2 的教程。最好將 WebAPI 和 MVC5 應用程序放在不同的項目中。
- 決定是直接從 AngularJS 應用程序還是從 MVC 應用程序連接到 API
- 如果直接從您的 AngularJS 應用程序呼叫 API 方法,請將此指令用於 OAuth2。將 access_token 儲存在 localstorage 或 cookie 中。
- 如果從 MVC 應用程序內部呼叫 API 方法,請將 access_token 儲存在客戶端(使用 localstorage 或 cookie)並將其用於每次呼叫 API。這是一個教程,展示瞭如何將 AngularJS 與 ASP.Net MVC5 一起使用
- 確保您在生產中使用安全連接 (https)。
更新
您可以為 WebAPI 使用預設的 ASP.Net 提供程序。但是預設提供程序最適合 EnityFramework。
我不是 EF 的粉絲,所以我自己使用了自定義提供程序。以下是自定義身份提供程序的概述。這個 MySQL 範例在實現自定義提供程序方面幫助了我很多(但是我仍然使用 SQL Server,但使用了我們自己的內部 DAL)。