ASP.NET Identity - 使用安全标记强制重新登录

2023-11-21

So from ASP.NET Identity 的 IUserSecurityStampStore 接口是什么?我们了解到 ASP.NET Identity 具有安全标记功能,用于使用户登录 cookie 无效,并强制他们重新登录。

在我的 MVC 应用程序中,管理员可以存档用户。当拱形时,它们应该立即地被注销并被迫再次登录(然后会拒绝它们,因为它们已存档)。

我怎样才能做到这一点?我知道安全印章是关键。默认设置如下所示:

    app.UseCookieAuthentication(new CookieAuthenticationOptions {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString("/Account/Login"),
        Provider = new CookieAuthenticationProvider {
            // Enables the application to validate the security stamp when the user logs in.
            // This is a security feature which is used when you change a password or add an external login to your account.  
            OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                validateInterval: TimeSpan.FromMinutes(30),
                regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
        }
    });

通过实验,如果我将 validateInterval 设置为 1 分钟之类的值,然后手动破解数据库中的用户安全标记,那么他们将被迫重新登录,但只有在该时间段过后。

有没有办法让这个瞬间发生,或者只是将间隔设置为一个较短的时间段并等待(或实现我自己的)OnValidateIdentity检查每个请求)

Thanks


您正确地陈述了您的选项,要么是低间隔/等待,要么是挂钩您自己的自定义OnValidateIdentity.

这是一个类似的问题:立即传播角色变化

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Identity - 使用安全标记强制重新登录 的相关文章

  • 部署项目 dll 导致“两者都存在类型 x”错误

    我有一个 Web 应用程序项目 一个业务逻辑项目和一个用于 Web 应用程序的 Web 部署项目 当我构建解决方案时 部署 Release bin 包含每个项目的 1 个 dll 因此我为 MyWeb dll MyWebBusiness d
  • 如何确定异常是否属于特定类型

    我有一段 try catch 代码 try catch Exception ex ModelState AddModelError duplicateInvoiceNumberOrganisation The combination of
  • 对 URL 进行编码 C#

    所以我有一个看起来像这样的 URL http www test com folder1 id 3 但基本上 当他们单击按钮时 我想在 URL 栏中显示与该 id 关联的值的名称 例如 id 3 是名为 Rollex 的手表 所以我想要读取
  • 两种类型的回发事件

    1 我发现了两篇文章 每篇文章对两种类型的回发事件的分类都略有不同 一位资源说两种类型的回发事件是Changed事件 其中控件实现 IPostbackDataHandler 当数据在回发之间更改时触发 然后Raised事件 其中控件实现 I
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • ASP.NET Core 会话超时

    我记得我们在 ASP NET 中使用了 session timeout 来更改会话超时 如果不更改 则为 20 分钟 我尝试在 Startup cs 中更改 ASP NET Core 3 1 中的会话超时 但没有任何反应 我对操作员使用身份
  • ASP.Net 4.0 与 TinyMCE 和 XML 编码在回发时重新编码内容

    我有一个基于 ASP NET 4 0 的 CMS 我在其中通过 jQuery 使用 TinyMCE 3 4 来编辑一个文本框 除此之外 我还有其他几个文本框 页面上还有另一个下拉列表 用于控制内容类型 该控件启用了自动回发并设置有关所选项目
  • 在 ASP.net MVC 2.0 中使用 Url.Content

    我见过很多使用 Url Content 引用 javascript 的示例 形成 MVC 2 中的 MasterPages Scripts jquery 1 4 1 min js gt type text javascript gt 但在运
  • 关于JSON和序列化的问题

    我的视图模型有一个强类型视图 其中包含一个对象 Person 和一个技能列表 人是很直率的 我像这样使用 Html Helpers Html TextBoxFor m gt m Person FirstName 我提交表格并得到我想要的 问
  • MVC4更新部分视图

    我正在开发一个简单的 MVC 应用程序 我有主视图 部分视图和控制器 这是我的主要视图 model partitalViewTest Models Qset div class transbox style height 1 Html Pa
  • 从标签 ID 更改整个 gridview 单元格颜色

    试图弄清楚当我有标签 ID 时如何更改 gridview 单元格的背景颜色
  • ASP.NET 解决方案的本机程序集绑定失败

    NOTE 这个问题的主要目的是理解 解释CLR 的程序集绑定行为 一旦确定原因 解决方案就应该显而易见 请注意 我知道我的设置不是最佳的 nativedll 未签名和版本控制等 但我只是想调查 CLR 的绑定行为 我正在尝试在我的 asp
  • 更改中继器中链接按钮的文本

    我有一个中继器 可以显示与帖子相关的评论 我想添加一些功能 当用户单击它来自的链接时 举报此帖子 to 帖子已被标记 如何访问特定的lnkBut ton 显然 在 ItemDataBound 中 这很容易完成 但在 click 方法中 我不
  • Automapper实体框架外键为空

    我正在尝试使用实体框架更新数据库 我使用自动映射器将实体映射到视图模型 并以相同的方式将其映射回来 HttpPost ValidateAntiForgeryToken public ActionResult Edit FromJson My
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • 有没有一种简单的方法来生成不重复的字符串?

    我知道我可以使用 GUID 生成唯一的字符串 但它太长了 现在我只需要在网站内生成不重复的字符串 我该怎么办 谢谢 例如 在网站上http mathurl com http mathurl com 可以生成一个永久的URL 比如http m
  • Grails + Spring Security:无法登录

    我刚刚开始学习Grails和Spring 我已经按照官方教程创建了一个登录系统 但我无法登录 用户名或密码不匹配 我知道 90 的情况下这是由于双重编码或多个数据源 这也导致双重编码 造成的 但我也没有这样做 class BootStrap
  • MVC + Razor:如何有条件地添加起始

    我想根据变量是否设置来修改div 所以我想做这样的事情 if SomethingIsSet div style background red else div style background blue 但我在 Visual Studio
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目

随机推荐

  • UWP 应用与 Windows 服务的通信

    我们正在修复应用程序的重新架构 并正在讨论是否可以使用 UWP 来代替普通的 WPF 应用程序 我们的应用程序需要能够访问整个文件系统和所有系统资源 这是一个问题 因为 UWP 应用程序是沙盒的 然而 我们试图通过以下方式解决这个问题 视窗
  • 如何在 folium.circle 地图 python 中的每个圆圈上添加标签

    嘿 我正在尝试将标签添加到 folium circle 地图中 但由于某些原因它不起作用 任何人都可以提供帮助 这是我的地图脚本 import folium Make an empty map m folium Map location 5
  • 同步块可以比 Atomics 更快吗?

    假设以下两个计数器实现 class Counter private final AtomicInteger atomic new AtomicInteger 0 private int i 0 public void incrementAt
  • Visual Studio 2017 (.NET Core) 中的自动版本控制

    我花了几个小时的大部分时间试图找到一种在 NETCoreApp 1 1 Visual Studio 2017 中自动递增版本的方法 我知道 AssemblyInfo cs 是在文件夹中动态创建的 obj Debug netcoreapp1
  • 已编译的 iOS 应用程序 (IPA) 中的内容加密

    由于IPA结构只是一个包含编译代码和图像和音频等媒体内容的压缩文件 我如何保护内容不被他人提取和窃取 我可以在 IPA 中添加任何加密吗 这个答案提到应用程序在进入用户设备时已经加密 Apple 是否会修改提交到 App Store 的应用
  • WebRTC:确定 PeerConnection 中使用哪个 TURN 服务器

    场景 您想知道 TURN 服务器是否用于特定呼叫 以及您在创建 PeerConnection 期间提供的 TURN 服务器数组中的哪一个正在使用 现在有两个选择 Wireshark 但是当您位于公司代理后面并且 TURN 服务器位于其外部时
  • 错误:[ProxyFacade] 不是 组件。 的所有子组件都必须是

    我在 React 17 中使用 react router dom 6 0 2 我正在使用打字稿 我试图添加路线 但出现错误 未捕获的错误 ProxyFacade 不是组件 的所有子组件必须是 a 或 我不知道出了什么问题 有什么我错过的吗
  • 将媒体查询与限定选择器相结合的语法

    在我们当前的设计中 表单元素在移动设备上的样式有所不同 media screen and max width 759px form label display block float none There s more 鉴于屏幕空间有限 我
  • 是否可以使用 ImageMagick 渲染多色表情符号?

    我的文本可能包含表情符号 我想用 RMagick 将其渲染成 JPEG 图像 我也可以直接使用 ImageMagick 我只能使用 AndroidEmoji ttf 渲染单色表情符号 但如果我使用 AppleColorEmoji ttf I
  • 在Java中,为什么String是非原始数据类型?

    在Java中我们可以直接使用String声明字符串变量名称并指定其值 即使 String 是非原始数据类型 我们也不必使用 new 关键字将字符串定义为数组 有人可以解释一下为什么 String 是非原始数据类型吗 字符串是非原始的 因为只
  • 使用 CreateProcessAsUser 时等待进程退出

    我在用着创建进程为用户在 C 中通过服务启动进程 我的服务需要等待进程退出 但我不知道该怎么做 我不想检查进程列表中的进程是否存在 The 处理信息返回新创建进程的句柄 hProcess 您可以等待此句柄 当进程退出时 该句柄将发出信号 您
  • 如何在 Visual Studio 中设置项目引用的“特定版本”属性

    我有一个包含多个项目的 Visual Studio 解决方案 并将项目之间的引用设置为项目引用 添加对程序集的引用后 引用的属性包含以下设置 Specific Version True False 项目引用缺少此属性 怎么设置呢 我希望我的
  • REGEX - 允许数字和 . - /

    我需要一个正则表达式来只允许数字和 它应该允许这样的事情 011 235673 98923 0001 12 您正在寻找的模式 仅与带有数字 和 的字符串匹配 0 9 如果您有一种特定的语言 并且想要实现这一点 我也许可以帮助您
  • 从 Socket 使用 InputStream 时 Scanner.nextLine() 会阻塞

    当我使用接收数据时Socket getInputStream 直接 没有像扫描仪这样的接口 它不会阻塞 但是 当我尝试使用扫描仪时 类似于我们从System in 确实如此 我想知道这样做的原因 以及连接的 Socket 提供给您的 Inp
  • 如果值匹配,则将单元格数据连接到另一个数据

    我有两个columns A and B在同一个 Excel 工作表中 我正在尝试如果在Column B两个值匹配 那么它应该复制相关值A在同一行 For e g Table Column A Column B xyz 1 abc 1 pqr
  • 将事件保存到用户的日历

    如何将事件添加到用户的日历中 然后允许用户选择日历等 我有这段有效的代码 但这会将事件添加到用户的默认日历中 如何允许用户更改日历 自定义警报等 我见过其他应用程序打开日历应用程序并预 先填写字段 add to calendar let e
  • 使用 Python 2.x 中的“is”运算符将对象与空元组进行比较

    我看惯了if obj is None 在Python中 我最近遇到if obj is 由于元组是不可变的 这听起来像是 Python 解释器中合理的内部优化 让空元组成为单例 因此允许使用is而不是要求 但这在某个地方得到保证吗 从哪个版本
  • 使用多个键排序时反转特定键

    当使用多个键排序时 如何反转单个键的顺序 例如 vec sort by key k foo k reverse bar k 您可以使用sort by与Ordering reverse代替sort by key use std cmp Ord
  • Rails 3:如何通过javascript触发表单提交?

    我有一个表单 大部分只是作为普通表单提交 所以我不想在 form tag 中设置 remote gt true 选项 然而 在某些情况下 我希望能够有一个 javascript 函数发布表单 就像它是通过 remote gt true 发布
  • ASP.NET Identity - 使用安全标记强制重新登录

    So from ASP NET Identity 的 IUserSecurityStampStore 接口是什么 我们了解到 ASP NET Identity 具有安全标记功能 用于使用户登录 cookie 无效 并强制他们重新登录 在我的