【问题标题】:ASP.NET MVC + Web API2 + AngularJS authorization and authenticationASP.NET MVC + Web API2 + AngularJS 授权和认证
【发布时间】:2015-03-04 11:43:18
【问题描述】:

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

请提供一些信息,我可以在其中阅读有关此主题的信息,可能是分步示例、教程或博客,其中描述了两者的混合授权。

【问题讨论】:

    标签: asp.net asp.net-mvc angularjs asp.net-web-api authorization


    【解决方案1】:
    1. 在您的 WebAPI2 应用程序 here is a good tutorial on implementing ASP.Identity 2 中实现 ASP.Net Identity 2。最好将 WebAPI 和 MVC5 应用程序放在不同的项目中。

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

    3. 如果直接从 AngularJS 应用程序调用 API 方法,请使用 this directive for OAuth2。将 access_token 存储在 localstorage 或 cookie 中。

    4. 如果从您的 MVC 应用程序内部调用 API 方法,请将 access_token 存储在客户端(使用 localstorage 或 cookie),并在每次调用 API 时使用它。 here is a tutorial showing how to use AngularJS with ASP.Net MVC5

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

    更新

    您可以为 WebAPI 使用默认的 ASP.Net 提供程序。但是默认提供程序最适合 EnityFramework。
    我不是 EF 的粉丝,所以我自己使用了自定义提供程序。 Here is an overview 的自定义身份提供程序。 This MySQL example 在实现自定义提供程序方面帮助了我很多(但是我仍然使用 SQL Server,但使用了我们自己的内部 DAL)。

    【讨论】:

    • 谢谢。也许你有一些关于在服务器端实现自定义角色、原则和身份提供者的技巧?还是使用默认的 ASP.Net Identity 2 提供程序更好?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    相关资源
    最近更新 更多