ASP.NET Core 2.0中CookieAuthentication如何使用
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章将为大家详细讲解有关ASP.NET Core 2.0中CookieAuthentication如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
马云千岛湖数据库
软件开发分析怎么学
辽宁数据网络技术价目表
数据库拿数据到页面
计算机网络安全保密性
服务器供货商
hyipxel服务器地址
esxi6.7搭建web服务器
数据库如何使用字符集utf8
数据库数据保存在电脑哪个磁盘好
达梦数据库文件还原
linux服务器安全程序
北京监控软件开发公司
幺基网络技术
图书馆建立的数据库吗
实时数据库开发工具
安防监控平台管理服务器
北京锐捷网络技术有限公司
dedicate服务器
江西神起网络技术有限公司
计算机网络技术学习计划书
网络安全周行情
view部署 数据库
深圳市爱酷王网络技术有限公司
男生学软件开发赚钱吗
数据库事务与存储过程区别
计算机软件开发创业规划
数据库查字段数据的字符长度
厦门直开尼网络技术有限公司
网络安全探究内容