Asp.net core 在asp.net core3.0中,身份验证是如何工作的?

Asp.net core 在asp.net core3.0中,身份验证是如何工作的?,asp.net-core,authentication,authorization,Asp.net Core,Authentication,Authorization,我在Startup.cs文件中有以下代码 public void配置服务(IServiceCollection服务) { 服务。 添加身份验证(“CookieAuth”)。 AddCookie(“CookieAuth”,配置=> { config.Cookie.Name=“user.Cookie”; config.LoginPath=“/Home/Login”; }); services.AddControllersWithViews(); } public void配置(IApplicati

我在Startup.cs文件中有以下代码


public void配置服务(IServiceCollection服务)
{
服务。
添加身份验证(“CookieAuth”)。
AddCookie(“CookieAuth”,配置=>
{
config.Cookie.Name=“user.Cookie”;
config.LoginPath=“/Home/Login”;
});
services.AddControllersWithViews();
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
if(env.IsDevelopment()){
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseAuthentication();//确定用户的身份
app.UseAuthorization();//确定用户能够做什么
app.UseEndpoints(opt=>{
opt.mapDefaultControllerOute();
});
}
以上配置工作正常,没有任何异常。但是我不知道身份验证是如何工作的。我知道以下概念:

  • 身份验证确定用户的身份
  • 授权决定用户能够做什么
  • 我不知道执行顺序。我的意思是:

  • 身份验证是否总是检查每个请求的用户身份?即使这些请求在同一个会话中
  • 如果请求没有有效的用户身份(例如:第一次请求时),会发生什么情况?它是否将继续执行授权

  • 请阅读这篇可能帮助您解决问题的官方文章:请阅读这篇可能帮助您解决问题的官方文章: