要在ASP.Net Core 2.1中使用身份验证使代码可在多个控制器中重用,可以按照以下步骤进行操作:
Startup.cs
文件中配置身份验证服务。在ConfigureServices
方法中添加以下代码:services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.Cookie.Name = "YourCookieName";
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(30);
options.SlidingExpiration = true;
options.LoginPath = "/Account/Login"; // 设置登录页面路径
});
[Authorize]
特性。例如:[Authorize]
public class HomeController : Controller
{
// 控制器的内容
}
[Authorize]
public class BaseController : Controller
{
// 基类控制器的内容
}
public class HomeController : BaseController
{
// 控制器的内容
}
通过以上步骤,您可以在ASP.Net Core 2.1中使用身份验证使代码可在多个控制器中重用。在继承了基类控制器的控制器中,将自动应用身份验证逻辑。