首页 > 解决方案 > 如何在 asp.net core 2.2 和 vue 上使用带有 jwt 身份验证的会话

问题描述

我在我的项目中使用 vue js 2 和 asp.net core 2.2 我在我的应用程序上使用 origin cors 并将我的 vue js 开发地址设置为 WithOrigins 并在非常请求的前端设置 {withCredentials: true }

services.AddCors(o => o.AddPolicy("AllowAll", builder =>
        {
            builder
                .WithOrigins("http://localhost:8080")    
                .AllowCredentials()                       
                .AllowAnyMethod()
                .AllowAnyHeader();       
        }));

在 ConfigureServices 上设置启动以正确使用会话

services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromMinutes(10);

});

并使用它

app.UseSession("AllowAll");

当通过前端成功进行身份验证时,我必须在会话和其他请求中保存登录用户,我需要在会话中保存对象并在另一个请求中返回。我尝试 setString-setting 和...但是当我发送另一个请求时,会话 ID 会根据请求更改,并且我无法获得上次会话中设置的内容。任何想法以另一种方式保存用户在会话之类的状态?我使用了 ImemoryCache 但我不知道生命周期还是为每个用户生成唯一的 ID?任何使用会话的方式?(我知道restful api与令牌通信,但我需要那个)

标签: vue.jssessionasp.net-core-webapiasp.net-core-2.2

解决方案


推荐阅读