gpt4 book ai didi

ASP.NET Web API + ASP.NET MVC 身份验证

转载 作者:行者123 更新时间:2023-12-02 14:24:53 25 4
gpt4 key购买 nike

我对身份验证/授权有疑问。这是我的应用程序设置。应用程序 1:使用浏览器提供服务的 ASP.NET MVC 应用程序。应用程序 2:使用混合移动应用程序提供相同的功能,该应用程序在客户端(应用程序)上使用 ionic + angularjs,在服务器端使用 ASP.NET Web api。

现在,两个应用程序都具有相同的用户群,并且都需要通用的身份验证/授权模块。

我浏览过互联网,发现了许多好文章,它们分别解释了每个应用程序的身份验证。我很清楚我需要在 OWIN 中间件中使用基于 token 的身份验证。

但我不太确定如何为这两个应用程序实现通用身份验证模块。我计划为 ASP.NET MVC 应用程序和 ASP.NET Web api(应用程序的后端部分)提供单一托管。我怎样才能拥有在两者之间共享的通用身份验证 Controller ?

如果我分别托管这两个 Controller ,则每个 Controller 都有单独的 AccountController(对于 MVC,派生自“Controller”,对于 WebAPI,派生自“ApiController”)。但不确定,如何合并此 Controller 以在我的解决方案中具有通用身份验证模块

我将两者一起托管的方向正确吗?或者我需要遵循的任何其他最佳实践?

谢谢

最佳答案

创建一个具有 MVC + API Controller 的项目。

MVC Controller 将实现基于 cookie 的身份验证(它们从 cookie 获取身份验证票证)并将用于为您的 mvc 站点提供服务。

API Controller 将实现基于 header 的身份验证(它们从 header 获取身份验证票证),并将成为 Angular 应用程序的后端。

MVC 和 API Controller 都将访问一个类,该类获取票证并实现特定于您的需求的身份验证/授权逻辑。

这样,您就能够将一个 Web 应用程序部署到一台为 MVC 站点和 Angular 应用程序提供服务的主机。

关于ASP.NET Web API + ASP.NET MVC 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com