我创建了一个 mudblazor 应用程序,并创建了一个 cshtml 页面作为身份验证提供程序,并在其中的 .CS 文件中声明了获取 jwt 令牌响应及其角色的所有逻辑。现在我尝试使用以下内容设置相同的内容:-
Httpcontext.Session.SetString("身份验证", "true");
但是,如果我尝试在不同页面(例如我的 navmenu.razor 页面或任何其他 razor 页面)上使用该 httpcontext,则该 httpcontext 无法访问。
我使用
IHttpContextAccessor
进行了测试,它可以访问不同组件中的会话。builder.Services.AddHttpContextAccessor();
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession();
...
app.UseSession();
Home.剃须刀
@inject IHttpContextAccessor accessor
@code{
protected override void OnInitialized()
{
accessor.HttpContext.Session.SetString("authentication", "true");
}
}
柜台剃须刀
@inject IHttpContextAccessor accessor
authentication:
@accessor.HttpContext.Session.GetString("authentication")