ASP.NET Core中鉴权授权中间件的使用
鉴权(Authentication): 身份验证, 就是看用户有没有登录, 相当于确定客户端的身份
授权(Authorize): 查看当前身份是否有权限访问
使用Cookie的解决方案
// HomeController 表示此Action需要授权访问
[Authorize]
public IActionResult Privacy()
{
return View();
}
// Program.cs
app.UseRouting();
app.UseAuthorization(); // ++++
此时访问/Home/Privacy
会报错, 因为它需要查看我们(客户端)是否有权限, 然后它现在连我们是谁都不知道, 要知道我们是谁, 就需要验证我们的身份(鉴权);
身份验证(鉴权)的过程: 程序会先检查我们是否已经登录, 如果我们把登录信息存储到Cookie中, 那么需要告诉鉴权Authentication中间件存储用户身份信息的Key
; 如果我们把登录信息存储到Token中, 那么需要告诉中间件在哪里找到Token
怎么处理Token
; 还有一些其他的登录方案… 这些灵活的未知项也就是我们实现登录的细节逻辑, 我们需要告知身份验证(鉴权)Authentication
中间件(即配置鉴权的方案)
var builder = WebApplication.CreateBuilder(args);
// 添加鉴权的解决方案, 方案名"CookieAuth", 方案媒介为Cookie, 指定存储登录信息的Cookie的键为"MyApp.Cookie"