出现登录问题的最常见原因之一是未正确配置身份验证。在 ASP.NET Core 中使用身份验证时,需要在 Startup.cs 文件中配置身份验证服务。以下是一个示例配置身份验证服务的代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.Cookie.Name = "YourCookieName";
options.LoginPath = "/Account/Login";
options.LogoutPath = "/Account/Logout";
});
// Add other services or middleware here
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Add authentication middleware before other middleware
app.UseAuthentication();
// Add other middleware here
}
此示例使用 CookieAuthenticationDefaults 来配置 Cookie 身份验证,并将登录和注销路径设置为 /Account/Login 和 /Account/Logout。
如果仍然存在登录问题,可以查看应用程序中与身份验证相关的错误消息。在 ASP.NET Core 中,可以从 HttpResponse.StatusCode 获取错误代码,从 HttpResponse.Body 获取错误消息。可以在启用开发模式的情况下,在浏览器中访问网站,并检查开发人员工具的“网络”选项卡中的响应。