无状态ASP.NET MVC 6应用程序中基于Cookie的身份验证
我正在开发一个无状态(无数据库)的ASP.NET 5/MVC 6应用程序,该应用程序使用相同的用户名/密码组合对2个Web服务的用户进行身份验证。用户根据基于OAuth2的RESTAPI进行身份验证,其中需要以某种方式存储无状态ASP.NET MVC 6应用程序中基于Cookie的身份验证,asp.net,asp.net-mvc,cookies,asp.net-core,asp.net-core-mvc,Asp.net,Asp.net Mvc,Cookies,Asp.net Core,Asp.net Core Mvc,我正在开发一个无状态(无数据库)的ASP.NET 5/MVC 6应用程序,该应用程序使用相同的用户名/密码组合对2个Web服务的用户进行身份验证。用户根据基于OAuth2的RESTAPI进行身份验证,其中需要以某种方式存储accessToken,同时用户根据soap服务进行身份验证,其中需要以某种方式存储sessionId 我想做的是: 有要求用户名/密码的登录表单 根据前面提到的RESTAPI和Soap服务进行身份验证 将accessToken和soapSessionId存储在cookie中
accessToken
,同时用户根据soap服务进行身份验证,其中需要以某种方式存储sessionId
我想做的是:
- 有要求用户名/密码的登录表单
- 根据前面提到的RESTAPI和Soap服务进行身份验证
- 将
和accessToken
存储在cookie中,以便以后重用soapSessionId
- 重定向到
returnUrl
- 能够在请求中再次轻松检索
和accessToken
soapSessionId
app.UseCookieAuthentication(options => {
options.AutomaticAuthentication = true;
options.LoginPath = "/Home/Login";
});
但我也看到了这一点:
app.UseIdentity();
他们有关系吗?我应该用哪一个?明确地说:我不想在数据库中存储任何信息。我只想将令牌保存在cookie中,并以符合ASP.NET 5/MVC 6中最佳实践的方式处理登录(即,不要手动执行框架可以处理的任何操作)
他们有关系吗
是的,在某种意义上,它们是相关的。因为app.UseIdentity()代码>内部调用app.UseCookieAuthentication()
。你可以从中看出这一点
我不想在数据库中存储任何信息
使用标识并不会强制您将数据库用于存储数据,但您必须在ConfigureServices方法中执行某些步骤进行设置
通常,出于您的目的,您不需要使用app.UseIdentity()
他们有关系吗
是的,在某种意义上,它们是相关的。因为app.UseIdentity()代码>内部调用app.UseCookieAuthentication()
。你可以从中看出这一点
我不想在数据库中存储任何信息
使用标识并不会强制您将数据库用于存储数据,但您必须在ConfigureServices方法中执行某些步骤进行设置
通常,出于您的目的,您不需要使用app.UseIdentity()