在ASP.NET Core中,可以使用Identity来处理身份验证和授权。当用户登录时,Identity会在浏览器中设置一个认证Cookie,用于将用户身份信息保存在浏览器端。
如果你遇到了在页面请求上的Cookie身份验证问题,可以尝试以下解决方法:
services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
app.UseAuthentication();
[Authorize]
public class HomeController : Controller
{
// ...
}
public IActionResult Index()
{
var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
// ...
}
services.ConfigureApplicationCookie(options =>
{
// 设置Cookie的名称
options.Cookie.Name = "YourCookieName";
// 设置Cookie的过期时间
options.ExpireTimeSpan = TimeSpan.FromDays(30);
// ...
});
通过检查以上代码示例和相关配置,你应该能够解决你的ASP.NET Core和Identity在页面请求上的Cookie身份验证问题。