在您的抽象基本控制器中,User(在User.Identity.Name中)为null,可能是因为用户尚未登录或者会话已过期。以下是一些建议来解决这个问题:
public void ConfigureServices(IServiceCollection services)
{
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30); //设置会话过期时间为30分钟
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseSession();
}
public class MyController : Controller
{
private readonly ClaimsPrincipal _user;
public MyController(ClaimsPrincipal user)
{
_user = user;
}
public IActionResult Index()
{
var username = _user.Identity.Name;
return View();
}
}
请注意,我不能提及其他云计算品牌商,因为我只能回答与腾讯云相关的问题。如果您需要了解其他云计算品牌商的信息,请咨询相应的专家或查阅相关文档。
领取专属 10元无门槛券
手把手带您无忧上云