我有关于身份验证/授权的问题。这是我的应用程序设置。应用程序1:使用浏览器提供服务的ASP.NET MVC应用程序。应用程序2:使用混合移动应用程序提供相同的功能,在客户端( app )使用ionic + angularjs,在服务器端使用ASP.NET Web api。
现在,这两个应用程序具有相同的用户基础,并且都需要一个通用的身份验证/授权模块。
我已经通过互联网找到了许多很好的文章,分别解释了每个应用程序的身份验证。我清楚地知道我需要在OWIN中间件中使用基于令牌的身份验证。
但我不太确定如何为这两个应用程序实现通用的身份验证模块。我计划有一个单一的托管ASP.NET应用程序和ASP.NET网络应用程序接口(应用程序的后端部分)。如何才能拥有在两者之间共享的公共身份验证控制器?
如果我将两者分开托管,我将为每一个单独的控制器(派生自MVC的“AccountController”,派生自WebAPI的"ApiController“)。但不确定,如何将此控制器合并为我的解决方案中的通用身份验证模块
同时主持这两个项目,我的方向对吗?或者我需要遵循的任何其他最佳实践?
谢谢
发布于 2018-08-04 04:38:33
创建一个具有MVC + API控制器的项目。
MVC控制器将实现基于cookie的身份验证(它们从cookie获得身份验证票证),并将用于服务您的mvc站点。
API控制器将实现基于头部的身份验证(它们从头部获得身份验证票证),并将成为您的Angular应用程序的后端。
MVC和API控制器都将访问一个获取票证的类,并实现特定于您需要的身份验证/授权逻辑。
通过这种方式,您将能够将一个web应用程序部署到一个主机上,为MVC站点和Angular应用程序提供服务。
https://stackoverflow.com/questions/31147644
复制相似问题