Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无状态ASP.NET MVC 6应用程序中基于Cookie的身份验证_Asp.net_Asp.net Mvc_Cookies_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

无状态ASP.NET MVC 6应用程序中基于Cookie的身份验证

无状态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中

我正在开发一个无状态(无数据库)的ASP.NET 5/MVC 6应用程序,该应用程序使用相同的用户名/密码组合对2个Web服务的用户进行身份验证。用户根据基于OAuth2的RESTAPI进行身份验证,其中需要以某种方式存储
accessToken
,同时用户根据soap服务进行身份验证,其中需要以某种方式存储
sessionId

我想做的是:

  • 有要求用户名/密码的登录表单
  • 根据前面提到的RESTAPI和Soap服务进行身份验证
  • accessToken
    soapSessionId
    存储在cookie中,以便以后重用
  • 重定向到
    returnUrl
  • 能够在请求中再次轻松检索
    accessToken
    soapSessionId
我读过很多关于如何在ASP.NET5/MVC6中为您完成上述大部分工作的不同内容,但我不确定选择哪种方法。我见过这样的东西:

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()