ASP.NET MVC 和 AngularJS 授权

ASP.NET MVC and AngularJS authorization

我目前正处于启动新应用程序的开始阶段,对 MVC 和 Angular 还很陌生。到目前为止,我已经使用 asp.net MVC 创建了自定义授权属性,这使我能够使用 [Authorize] 标记。是否可以与 AngularJS 前端一起使用?

任何能为我指明正确方向的资源都将不胜感激。

AngularJs 非常适合单页应用程序 (SPA)。因此,只需将您的前端和后端层分开即可。使用 Angular 来实现所有的视图和前端的东西。使用 ASP.NET WebAPI 为前端(可能还有移动)应用公开 REST API。


一些有用的链接:

Angular Routing module

ASP.NET WebAPI Bearer token authorization with AngularJs

Routing in SPA with AngularJs

答案是肯定的!因此,您仍然可以受益于 ASP.NET MVC 功能,例如身份验证和授权等,并且仍然可以在客户端上使用 AngularJS。

实际上我也有同样的问题,经过一番研究后我发现了以下内容。

我们确实应该拥抱 SPA(单页应用程序),但与此同时我们不应该仅仅丢弃成熟的服务器端框架,例如 ASP.NET MVC。您可以简单地拥有一个 混合网络应用程序 mini SPA 我们也称它们为。这些 Web 应用程序使用正常的 ASP.NET MVC 路由来显示视图,然后,一旦加载视图,您就可以将所有责任留给 AngularJS。 Miguel Castro 使用术语 SPA 筒仓。此外,您还可以从 AngularJS' 路由中受益。 Miguel Castro 还解释了如何将它们结合使用以充分利用服务器端和客户端。我真的建议看他的演讲(下面的link)。

通过这种方式,您仍然可以受益于 ASP.NET MVC 的强大功能,例如身份验证、授权和其他功能,但仍然有 AngularJS 运行 您的观点。

我在您绝对应该查看的以下位置得到了这个答案: