Web API和AngularJS SPA应用程序的身份验证

Nar*_*ana 5 authentication asp.net-mvc authorization asp.net-web-api angularjs

我有两个服务器 - 网络和应用程序.Web服务器(IIS)仅提供静态文件 - HTML/CSS/JS.在执行JS时,客户端从应用服务器获取数据(使用Web API的HTTP服务,由OWIN自托管).我需要引入身份验证,以便限制我的数据和内容.

我可以使用SSL,我可以将用户名/密码传递给web api,对其进行身份验证并获取令牌.我可以为将来的web api请求传递此令牌.在我的客户端应用程序javascript(使用AngularJS完成)中,我还可以维护用户是否经过身份验证,具有哪些角色等信息(用户体验).但为了安全起见,我需要能够确保所请求的html内容(在Web服务器中)也进行了身份验证和授权.我怎样才能做到这一点?

我应该更改我的应用程序以使Web服务器在内部而不是从客户端调用应用程序服务器吗?我可以使用MVC控制器或ASP.NET,但由于我使用的是AngularJS,我认为它不是必需的,并且有点重复.我应该抛弃纯.html文件并转移到.cshtml吗?

当您的数据来自与您的htmls不同的服务器时,如何在Angular + .NET世界中完成此操作

koo*_*nix 0

我们一直在使用 JSONP 和 REST 类型 api 来执行跨域 AJAX 调用,但我们的 Angular 客户端代码位于 .NET 项目中的 .cshtml 文件中。听起来最简单的解决方案是在内部使用应用程序服务器 - 我会同意