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

时间:2014-02-20 18:38:52

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我们一直在使用带有REST类型api的JSONP来进行跨域AJAX调用,但我们的Angular客户端代码在.NET项目的.cshtml文件中。听起来最简单的解决方案就是在内部使用app服务器 - 我会选择那个