首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net 5身份验证cookie在每次重建后都会重置-我如何才能将其真正持久化?

Asp.Net 5身份验证cookie在每次重建后都会重置,这是因为默认情况下,Asp.Net 5身份验证cookie是会话级别的,即在每次会话结束后都会被销毁。如果希望将身份验证cookie持久化,可以通过以下步骤实现:

  1. 配置持久化存储方式:可以使用Asp.Net 5提供的不同的持久化存储方式,如使用数据库、文件系统等。具体的配置方式取决于你选择的持久化存储方式。
  2. 设置持久化Cookie:在配置持久化存储方式后,需要设置身份验证cookie的持久化属性。可以通过在Startup.cs文件中的ConfigureServices方法中添加以下代码来实现:
代码语言:txt
复制
services.ConfigureApplicationCookie(options =>
{
    options.Cookie.IsEssential = true; // 设置为必需的cookie
    options.Cookie.SameSite = SameSiteMode.None; // 设置SameSite属性
    options.Cookie.SecurePolicy = CookieSecurePolicy.Always; // 设置Secure属性
    options.ExpireTimeSpan = TimeSpan.FromDays(30); // 设置过期时间
});
  1. 更新用户认证信息:在用户登录或认证状态发生变化时,需要更新用户的认证信息并重新生成身份验证cookie。可以通过调用以下代码来实现:
代码语言:txt
复制
await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, authProperties);

其中,principal是包含用户认证信息的ClaimsPrincipal对象,authProperties是包含身份验证cookie属性的AuthenticationProperties对象。

通过以上步骤,你可以将Asp.Net 5身份验证cookie持久化,使其在每次重建后不会重置。这样可以确保用户在下次访问时仍然保持登录状态。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议你参考腾讯云的文档和官方网站,查找与身份验证、持久化存储相关的产品和解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇

那么本篇文章中,将继续ASP.NET Identity 之旅,向您展示如何运用ASP.NET Identity 进行身份验证(Authentication)以及联合ASP.NET MVC 基于角色的授权...那我们怎么产生Cookie呢?使用ASP.NET Identity 进行身份验证,如果验证通过,产生Cookie并输出到客户端浏览器, 这样一个闭环就形成了,将在下一小节实施这一步骤。...使用ASP.NET Identity 身份验证 有了对身份验证和授权机制基本了解,那么现在就该使用ASP.NET Identity 进行身份验证了。 1....=true ,意味着Authentication Session 被持久保存,当开启新Session 时,该用户不必重新验证了。...ASP.NET Identity 提供了一个名为RoleManager 强类型基类用来访问和管理角色,其中T 实现了IRole 接口,IRole 接口包含了持久Role 最基础的字段(Id和Name

3.5K60
  • ASP.NET Core 基础知识】--身份验证和授权--用户认证的基本概念

    ASP.NET CORE 中的身份验证系统提供了多种身份验证方案,包括基于 cookie身份验证,基于 OAuth2 的身份验证,以及基于 JWT 的身份验证等。...2.2 介绍如何配置和使用身份验证系统 ASP.NET Core中,身份验证系统可以通过Microsoft.AspNetCore.Authentication命名空间下的各种身份验证服务来实现。...API应用程序: ASP.NET CORE用户认证可以用于保护API资源,确保只有经过身份验证和授权的客户端才能调用特定的API。...移动应用程序: ASP.NET CORE用户认证可以用于保护移动应用程序的资源,确保只有经过身份验证和授权的用户才能访问特定的功能。...云应用程序: ASP.NET CORE用户认证可以用于保护云应用程序的资源,确保只有经过身份验证和授权的用户才能访问特定的云服务。

    23600

    asp.net core 3.x 身份验证-1涉及到的概念

    前言 从本篇开始将围绕asp.net core身份验证写个小系列,希望你看完本系列,脑子里对asp.net core的身份验证原理有个大致印象。 至于身份验证是啥?与授权有啥联系?...的学习思路是详细看源码 > 总结得出一个宏观上的印象 + 如何使用。...参考:源码、Artech、mvc5基于owin的身份验证视频、ASP.NET Core 运行原理解剖[5]:Authentication 注意:本篇只讲涉及到的几个概念 ?...cookie身份验证流程我们发现有几个核心的处理步骤: 登录时验证通过后将用户标识加密存储到cookie,SignIn 当用户注销时,需要清楚代表用户标识的cookie,SignOut 登录时从请求中获取用户标识...AuthenticationHandlerProvider 它是以Scope的形式注册到依赖注入容器的,所以每次请求都会创建一个实例对象。

    2.4K30

    .NET开发工程师的常见面试题

    Forms验证:ASP.NET通过Web表单,为每个用户创建一个用cookie保存的身份验证票据,通过该票据验证用户身份。...每次从服务器请求网页时,都会创建网页类的一个新实例。这通常意味着每次往返过程中将会丢失所有与该页面及其控件关联的信息。...5) 类的构造函数里面可以不用对所有字段进行初始;结构的构造函数里面必须对所有字段进行初始。 6) 类可以有析构函数,但结构不行。 C#中类成员的访问修饰符有哪些?...删除所有数据,下一次插入新数据的自增长列的数值将被重置,重新开始。...经测试,chrome和firefox下如果检测到get请求的是静态资源,则会缓存,如果是数据,则不会缓存,但是IE什么都会缓存起来,当然,应该没有人用post去获取静态数据吧,反正是没见过。

    5.5K30

    Session、Cookie、Token三者关系理清了吊打面试官

    会话 Cookie 存储在内存中,永远不会写入磁盘,当浏览器关闭时,此后 Cookie 将永久丢失。如果 Cookie 包含有效期 ,则将其视为持久Cookie。...即使是安全的,也不应该将敏感信息存储cookie 中,因为它们本质上是不安全的,并且此标志不能提供真正的保护。...窃取的 Cookie 可以包含标识站点用户的敏感信息,如 ASP.NET 会话 ID 或 Forms 身份验证票证,攻击者可以重播窃取的 Cookie,以便伪装成用户或获取敏感信息,进行跨站脚本攻击等。...通过每次产生新的请求时对用户数据进行身份验证来解决此问题。 所以 JWT 和 Session Cookies 的相同之处是什么?...每次请求时,服务器都会从会话 Cookie 中读取 SessionId,如果服务端的数据和读取的 SessionId 相同,那么服务器就会发送响应给浏览器,允许用户登录。

    2K20

    看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了

    会话 Cookie 存储在内存中,永远不会写入磁盘,当浏览器关闭时,此后 Cookie 将永久丢失。如果 Cookie 包含有效期 ,则将其视为持久Cookie。...即使是安全的,也不应该将敏感信息存储cookie 中,因为它们本质上是不安全的,并且此标志不能提供真正的保护。...窃取的 Cookie 可以包含标识站点用户的敏感信息,如 ASP.NET 会话 ID 或 Forms 身份验证票证,攻击者可以重播窃取的 Cookie,以便伪装成用户或获取敏感信息,进行跨站脚本攻击等。...通过每次产生新的请求时对用户数据进行身份验证来解决此问题。 所以 JWT 和 Session Cookies 的相同之处是什么?...每次请求时,服务器都会从会话 Cookie 中读取 SessionId,如果服务端的数据和读取的 SessionId 相同,那么服务器就会发送响应给浏览器,允许用户登录。 ?

    1.1K20

    ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础。...还有一个方法就是 HandleSignInAsync ,根据名字可以看出主要是处理登入相关操作的,在这个方法里面主要是根据Claims信息生成加入过后的票据,同时会向票据中写入过期时间,是否持久等信息...是否持久的意思就是用户登陆界面是否勾选了 “记住” 这个操作。...一般情况下,OpenId 是需要客户端进行持久的,那么对应在 ASP.NET Core Identity 中,就是存储 UsersLogin 表里面的 ProviderKey 字段,懂了吧,懂了给个推荐呗...AuthenticationScheme ASP.NET Core 之 Identity 入门(二)》 一文中提到过这个知识点,当时说很重要,这里可以看到了吧,每一种验证中间件都会使用到这个东西

    1.8K20

    ASP.NET Core 微服务实战》-- 读书笔记(第10章)

    平台,在这些平台上,支撑应用的操作系统应被视为临时存续的 有些企业的安全策略要求所有虚拟机滚动更新期间需要销毁并重新构建,从而缩小持续攻击的可能范围 Cookie 和 Forms 身份验证 当应用运行于...PaaS 环境中时,Cookie 身份验证仍然适用 不过它也会给应用增加额外负担 首先,Forms 身份验证要求应用对凭据进行维护并验证 也就是说,应用需要处理好这些保密信息的安全保障、加密和存储 云环境中的应用内加密...传统 ASP.NET 应用开发中,常见的加密使用场景是创建安全的身份验证 Cookie 和会话 Cookie 在这种加密机制中,Cookie 加密时会用到机器密钥 然后当 Cookie 由浏览器发回...Web 应用时,再使用同样的机器密钥对其进行解密 如果无法依赖持久文件系统,又不可能在每次启动应用时将密钥置于内存中,这些密钥将如何存储 答案是,将加密密钥的存储和维护视为后端服务 也就是说,与状态维持机制...,将其称为客户端标识和客户端密钥更准确 使用 Bearer 令牌保障服务的安全 服务的 Startup 类型的 Configure 方法中启用并配置 JWT Bearer 身份验证 app.UseJwtBearerAuthentication

    1.8K10

    使用IdentityServer出现过SameSite Cookie这个问题吗?

    Lax 意味着,cookie 将在初始导航时发送到服务器, Strict 意味着 cookie 只会在您已经该域上时发送(即初始导航的第二个请求)。...更新: 如果您想了解有关 SameSite cookie 的更多背景信息,有一篇包含 所有细节的新文章[5]。 2. 这对有影响吗?如果是,怎么做?...那么,如何真正解决这个问题?需要 Chrome 和 Safari 正常使用。 我们,也就是的同事 Boris Wilhelms 和我自己,对该主题进行了一些研究,并找到且验证了解决方案。...严肃的说:确保您的静默刷新 - 或者通常是需要 cookie 的跨站点请求 - 仍然可以在这些设备和浏览器上运行。 7. 不能简单地等待我的身份验证服务器供应商为解决这个问题吗? 这是不太可能的。...IdentityServer 依赖于 ASP.NET Core 框架的内置身份验证系统,这是管理会话 cookie 的地方。

    1.5K30

    金三银四面试:ASP.NET Core面试题汇总

    ASP.NET Core支持依赖注入软件设计模式,它允许不同的组件中注入我们的服务,并且控制服务的初始。...有些服务可以短时间内初始,并且只能在某个特别的组件,以及请求中才能用到;而还有一些服务,仅仅只用初始一次,就可以整个应用程序中使用。...setter注入: 就是类A里面定义一个C接口的属性D,A的上下文通过B实例一个对象,然后将这个对象赋值给属性D。...还有一个接口注入,就是客户类(A)的接口中有一个服务类(B)的属性。实例化了这个接口的子类,对这个属性赋值,这和setter注入一样。...异常/错误处理 HTTP 严格传输安全协议 HTTPS 重定向 静态文件服务器 Cookie 策略实施 路由 身份验证 会话 MVC 15.application builder的use和run方法有什么区别

    18010

    .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRFCSRF)攻击处理

    ASP.NET Core 中包含管理身份验证、授权、数据保护、SSL 强制、应用机密、请求防伪保护及 CORS 管理等等安全方面的处理。...而我们这一章就来说道说道如何ASP.NET Core中处理“跨站请求伪造(XSRF/CSRF)攻击”的,希望对大家有所帮助 写在前面 上篇文章发出来很多人就去GitHub上下载了源码,然后就来问我说为什么登录功能都没有啊...如果服务器收到与经过身份验证的用户的标识不匹配的令牌,将拒绝请求。 该令牌唯一且不可预测。 该令牌还可用于确保正确序列的一系列的请求 (例如,确保请求序列的: 第 1 页–第 2 页–第 3 页)。...所有ASP.NET Core MVC 和 Razor 页模板中的表单都会生成 antiforgery 令牌。...,然后给大家讲解了如何进行跨站点请求伪造的处理,后面引出了ASP.NET Core中如何对其进行处理的!

    4K20

    为什么很多人不推荐你用JWT?

    当然如何实现我们在这里不讲,有兴趣的可以去自己了解。下面我们来说一下他的流程:当你登录到一个网站,网站会生成一个JWT并将其发送给你。...然后,你每次与该网站进行通信时都会携带这个JWT。每当你访问一个需要验证身份的页面时,你都会把这个JWT带给网站。...比如我们需要存储一个用户ID 为xiaou如果存储到cookie里面,我们的总大小只有5个字节。如果我们将 ID 存储 一个 JWT 里。他的大小就会增加大概51倍这无疑就增大了我们的宽带负担。...实际上,大多数网络身份验证情况下,JWT数据都是存储会话cookie中的,这意味着现在有两个级别的签名。一个cookie本身上,一个JWT上。...注销并不能真正使你注销! 想象一下你推特上发送推文注销了登录。你可能会认为自己已经从服务器注销了,但事实并非如此。因为JWT是自包含的,将在到期之前一直有效。

    25210

    Session、Cookie、Token 【浅谈三者之间的那点事】

    会话 Cookie 存储在内存中,永远不会写入磁盘,当浏览器关闭时,此后 Cookie 将永久丢失。如果 Cookie 包含有效期 ,则将其视为持久Cookie。...即使是安全的,也不应该将敏感信息存储cookie 中,因为它们本质上是不安全的,并且此标志不能提供真正的保护。...窃取的 Cookie 可以包含标识站点用户的敏感信息,如 ASP.NET 会话 ID 或 Forms 身份验证票证,攻击者可以重播窃取的 Cookie,以便伪装成用户或获取敏感信息,进行跨站脚本攻击等。...通过每次产生新的请求时对用户数据进行身份验证来解决此问题。 所以 JWT 和 Session Cookies 的相同之处是什么?...每次请求时,服务器都会从会话 Cookie 中读取 SessionId,如果服务端的数据和读取的 SessionId 相同,那么服务器就会发送响应给浏览器,允许用户登录。

    20.5K2020

    ASP.NET Core MVC中如何使用Session实现身份验证

    用户应用程序的页面切换时,Session对象的变量不会被清除。 ASP.NET页面是"无状态"的,这意味着每次向服务器发送一个请求,服务器都会生成一个该页面的实例。...三、ASP.NET Core MVC使用Session方式来实现用户身份验证 这篇文章主要为大家详细介绍了ASP.NET Core MVC使用Session验证用户登录的相关资料,具有一定的参考价值,...基于Session的身份验证实现 这种方式可能是Asp.Net框架提供的几种验证方式之外的最常用的身份验证方式。...实现核心原理和具体实现步骤: 1)、客户端发送身份认证数据到服务器端服务器收到并验证将用户信息保存到Session对象中, 2)、然后生成对应的标识并将标识写入cookie中当客户端下次请求时带上该...2)、添加BaseAdminController控制器,重写OnActionExecuting方法,每次访问控制器前触发。 ? 3)、登录成功实现对用户信息存储到Session中 ?

    3.7K30

    ASP.NET Identity入门系列教程(一) 初识Identity

    ASP.NET Identity主要组成部分 总结 身份验证(Authentication)和授权(Authorization) 我们先来思考一个问题:如何构建安全的WEB应用?...cookieASP.NET会话机制(session)的关系密切,会话超时或者用户关闭浏览器之后,会话和cookie就会失效,用户需要重新登录网站建立新的会话。 理解表单认证流程 ?...当微软发现这一问题ASP.NET 2.0引入了Membership的重磅级技术方案。...数据持久性以及兼容性 默认情况下,ASP.NET Identity 系统将所有的数据存储SQL Server数据库中,并且使用 Entity Framework Code First 实现数据库的管理...相信本文让大家对ASP.NET Identity有一个基本的了解,后续将介绍如何扩展ASP.NET Identity,实现自己的用户和角色管理。

    4.5K80

    SharePoint 2013混合模式登陆中 使用 自定义登陆页

    接前一篇博客《SharePoint 2013自定义Providers基于表单的身份验证(Forms-Based-Authentication)中的应用》,当实现混合模式登陆,接着我们就应该自定义SignIn...(Forms-Based-Authentication)中的应用》 DisplayRememberMe:Bool类型,表示是否显示记住 RememberMeSet:表示是否向用户浏览器发送持久已认证的...Cookie,默认是False TextLayout:有2种选择,TextOnLeft(LabelTextBox左),TextOnTop(LabelTextBox上) UserNameLabelText...总结 对于自定义的ASP.NET Login控件的名称,注意其名字必须是:signInControl,在次纠结了很久(异常信息,登陆成功仍然显示身份验证无效,重定向至:/Authenticate.aspx...清理掉此Cookie,又恢复正常)。暂时没有时间去Reflect Sharepoint原始的Login 控件,估计这个默认的Login控件的名字也是:signInControl。

    2K80
    领券