ASP.NET Core 2.0中CookieAuthentication如何使用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关ASP.NET Core 2.0中CookieAuthentication如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的
千家信息网最后更新 2026年11月03日ASP.NET Core 2.0中CookieAuthentication如何使用
这篇文章将为大家详细讲解有关ASP.NET Core 2.0中CookieAuthentication如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在ASP.NET Core 2.0中使用CookieAuthentication跟在1.0中有些不同,需要在ConfigureServices和Configure中分别设置,前者我们叫注册服务,后者我们叫注册中间件
public void ConfigureServices(IServiceCollection services){
services.AddCookieAuthentication();
services.AddMvc(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
// 因为是后台系统,必须登陆以后才能操作
options.Filters.Add(new AuthorizeFilter(policy));
});
}public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
// 使用Authentication中间件
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}在上面的services.AddCookieAuthentication中没有任何参数,系统会为某些属性指定默认值
public static class CookieAuthenticationDefaults
{
///
/// The default value used for CookieAuthenticationOptions.AuthenticationScheme
///
public const string AuthenticationScheme = "Cookies";
///
/// The prefix used to provide a default CookieAuthenticationOptions.CookieName
///
public static readonly string CookiePrefix = ".AspNetCore.";
///
/// The default value used by CookieAuthenticationMiddleware for the
/// CookieAuthenticationOptions.LoginPath
///
public static readonly PathString LoginPath = new PathString("/Account/Login");
///
/// The default value used by CookieAuthenticationMiddleware for the
/// CookieAuthenticationOptions.LogoutPath
///
public static readonly PathString LogoutPath = new PathString("/Account/Logout");
///
/// The default value used by CookieAuthenticationMiddleware for the
/// CookieAuthenticationOptions.AccessDeniedPath
///
public static readonly PathString AccessDeniedPath = new PathString("/Account/AccessDenied");
///
/// The default value of the CookieAuthenticationOptions.ReturnUrlParameter
///
public static readonly string ReturnUrlParameter = "ReturnUrl";
}根据微软的命名规范在ConfigureServices统一使用Add***,在Configure统一使用Use***
登陆代码
public async Task LoginDo()
{
var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "bob") }, CookieAuthenticationDefaults.AuthenticationScheme));
await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user, new AuthenticationProperties
{
IsPersistent = true,
ExpiresUtc = DateTimeOffset.Now.Add(TimeSpan.FromDays(180))
});
return Redirect("/");
} 登出代码
public async Task Logout()
{
await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
return Redirect("/");
} 关于ASP.NET Core 2.0中CookieAuthentication如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
中间件
代码
内容
文章
更多
知识
篇文章
系统
登陆
统一
不同
不错
参数
后台
属性
质量
面的
微软
参考
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
伟宏互联网科技
华服互联网科技怎么样
互联网科技公司经营范围
北京路客互联网科技有限公司
科技赋能下的互联网金融
互联网科技卖菜
科技互联网技术
上海互联网科技有限公司
唐信互联网科技
融贸通互联网科技
掌上梦互联网科技
互联网科技论坛
互联网时代科技改变生活
本届互联网博览会上的黑科技
卡尔迅互联网科技有限公司
图游互联网科技
半导体行业属于互联网高科技类吗
世界互联网科技成果奖
广州三三互联网科技有限公司
有格互联网科技
深圳恒合互联网络科技有限公司
互联网养老 桔豆科技
中正互联网科技招聘
互联网金融科技展
互联网在线教育科技创业
中科明德北京互联网科技
华中科技大学互联网的牛人
互联网营销推广黑科技
玉溪新华互联网科技怎么选