在使用 WebForm 技术开发网站的时候,微软就提供了 Form 身份认证,这使得登录认证简单了许多,不同于 WebForm 以及后来的 Asp.Net Mvc,Asp.Net Core 中的身份认证与之前相比使用更加便捷,本文介绍 Asp.Net Core 2.0 多角色授权认证,首先我们需要在 Startup.cs 中开启授权认证相关模块(中间件),代码如下:
services.AddAuthentication( options=> { options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; }).AddCookie(options => { options.LoginPath = "/Account/"; options.Cookie.HttpOnly = true; });services.AddTransient<HttpContextAccessor>();app.UseAuthentication();
之后,我们在登录模块编写多角色登录逻辑代码如下:
[HttpPost]public async Task<IActionResult> Login(string userCode, string userPassword, int userType = 0, string returnUrl = ""){