首页 文章

如何在ASP.NET MVC和ASP.NET WEB API应用程序之间共享身份验证?

提问于
浏览
2

我正在构建一个AngularJS MVC应用程序,我需要一些身份验证方面的指导 . 我正在考虑使用MVC身份验证管道构建身份验证 . AngularJS代码将驻留在MVC应用程序中,根SPA视图将是Razor cshtml . 这是我的情景 -

  • 登录页面将调用将返回令牌的Authenticate API

  • AngularJS具有获取承载并传递给每个API请求的逻辑

  • 将有多个ASP.NET WebAPI项目将作为子域托管 .

  • 我还需要调用复杂的动态剃刀模板,这需要对将返回剃刀视图的MVC控制器进行身份验证 . 由于MVC遵循基于cookie的身份验证,因此令牌提供401状态代码 . 如何在MVC和WEB API应用程序之间共享身份验证 .

1 回答

  • 1

    我认为您需要从API项目而不是MVC获取令牌,以便能够安全地调用API .

    如果要跨API和MVC项目共享标识,请让它们使用相同的数据库 .

    从API获取令牌时,您可以从MVC应用程序获取当前用户的身份详细信息 . 至少,这就是我过去的做法 .

    我在这里写了一些东西:http://blogs.msdn.com/b/martinkearn/archive/2015/03/25/securing-and-working-securely-with-web-api.aspx然而,这并没有涵盖使用MVC登录中的信用卡并将其传递给API以获取令牌的步骤 .

    希望有所帮助 .

相关问题