我提问的原因主要是我要做.net core ABP的Token刷新功能,基本都根据网上的文章整合进ABP了,在如何存储的时候,总觉得系统的AbpUserTokens表为啥不利用进来,但是又找不到相关介绍的文章,因此去issues提问,回答的内容分为3部分,有点杂,所以打算整理一份,以下为回答的原文

user token removal was implemented in #4441

By default, the worker run at an interval of 1 hours, you can configure it yourself. See https://aspnetboilerplate.com/Pages/Documents/Background-Jobs-And-Workers#user-token-removal-period

The user token should be generated by Microsoft.AspNetCore.Identity via IUserAuthenticatorKeyStoreinterface

翻译:

1、用户令牌移除在#4441中实现

2、默认情况下,工作进程以1小时为间隔运行,您可以自己配置它。请参阅https://aspnetboilerplate.com/Pages/Documents/Background-Jobs-And-Workers#user-token-removal-period

3、用户令牌应改通过继承Microsoft.aspnetcore.identity下的IUserAuthenticatorKeyStore接口生成

 
 
第一部分:用户令牌移除
  • Make RemoveTokenValidityKeyAsync delete ALL keys from the same TokenValidityKeyProvider
  • Remove auto clean up when calling IsTokenValidityKeyValidAsync
  • Introduce UserTokenExpirationWorker periodic job (1 hour) that start in PostInitialize of AbpZeroCoreModlue
  • Introduce clean up method RemoveTokenValidityKeysAsync that delete ALL keys that are older than the given expireDateTime

Impact

  • Expired User.Tokens will no longer be removed automatically when calling IsTokenValidityKeyValidAsync
  • Expired User.Tokens can be removed by calling RemoveTokenValidityKeysAsync(user)

使用RemoveTokenValidityKeyAsync 从TokenValidityKeyProvider中删除所有key相同的令牌

要移除自动清理,请调用IsTokenValidityKeyValidAsync在AbpZeroCoreModlue的PostInitialize 中

引入清除方法RemoveTokenValidityKeysAsync ,该方法删除所有早于给定expiredatetime的密钥 (这里为什么是删除线,可能是已经过期了)

影响

已过期的用户。调用IsTokenValidityKeyValidAsync时不再自动删除令牌

已过期的用户。可以通过调用removetokenvaliditykeysasync(user)删除令牌

具体的实现方法在源码的 src/Abp.ZeroCore/Authorization/Users/AbpUserStore.cs

第二部分:修改工作进程间隔时间

User token removal period

ABP Framework defines a background worker named UserTokenExpirationWorker which cleans the records in table AbpUserTokens. If you disable background job execution, this worker will not run. By default, UserTokenExpirationWorker runs every one hour. If you want to change this period, you can configure it like below:

用户令牌移除期

abp框架定义了一个名为UserTokenExpirationWorker 的后台工作进程,它清除表AbpUserTokens中的记录。如果禁用后台作业执行,则此工作进程将不会运行。默认情况下,UserTokenExpirationWorker 每一小时运行一次。如果要更改此时段,可以如下配置:

public class MyProjectWebModule : AbpModule
{
public override void PreInitialize()
{
Configuration.BackgroundJobs.CleanUserTokenPeriod = 1 * 60 * 60 * 1000; // 1 hour
} //...
}

  

3、如何生成用户令牌

IUserAuthenticatorKeyStore<TUser> Interface

提供存储有关用户身份验证器信息的存储的抽象。

他最重要的方法应该是这两个,可是为何我还一脸懵逼呢,不过既然主要的点都提到了,剩下的应该就是百度了

翻译我去issues提问的回答内容的更多相关文章

  1. Java基础-爬虫实战之爬去校花网网站内容

    Java基础-爬虫实战之爬去校花网网站内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 爬虫这个实现点我压根就没有把它当做重点,也没打算做网络爬虫工程师,说起爬虫我更喜欢用Pyt ...

  2. 【翻译】如何在AJAX生成的内容中再次运行Prism.js

    一.前言 最近用一个十分轻量级的网页代码高亮Js库,应用到项目中发现了一个问题,对于静态的已经写好的代码,Prism的高亮插件是没有问题的,但是通过Ajax异步获取数据并修改DOM时发现,Prism高 ...

  3. [目录] -- 计划翻译一些有关CLR/C#的基础内容,希望能坚持下去

    主要内容有以下部分(URL待补充): CLR 和Windows Loader 加载.NET Assembly的过程 CLR加载失败分析分析 Windows内存架构模型,分配内存及垃圾回收 其他带补充的 ...

  4. 使用for( var each in record){} 去寻找object里面的内容;

    for(var each in object){ alert(each); }

  5. 使用splash爬去JavaScript动态请求的内容

    https://blog.csdn.net/qq_32093267/article/details/78156184

  6. 根据XPATH去查看修改xml文件节点的内容

    首先给出xml文件解析的路径,然后去读取节点的内容. package com.inetpsa.eqc.threads; import java.util.List; import java.io.Fi ...

  7. 社区类 App 如何引导用户发帖和产生内容?

    作者:Pmer在路上链接:http://www.zhihu.com/question/25502904/answer/31342246来源:知乎著作权归作者所有,转载请联系作者获得授权. ugc的产出 ...

  8. Dapr 官方文档中文翻译 v1.5 版本正式发布

    作者:敖小剑 - Dapr Approver 经过 Dapr 中国社区十余位贡献者一个多月的努力,Dapr 官方文档中文翻译 v1.5 版本完成翻译和审校,正式发布并上线 Dapr 官网. 访问方式 ...

  9. [翻译]开发文档:android Bitmap的高效使用

    内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...

随机推荐

  1. PHPstorm支持YAF框架代码自动提示

    文件下载地址:https://github.com/xudianyang/yaf.auto.complete 然后找到phpstorm     File->settings->Langua ...

  2. MYSQL中的UNION和UNION ALL

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...

  3. TCP/IP 协议是如何保证数据可靠性的?

    原文: 网络基础:TCP协议-如何保证传输可靠性 TCP协议传输的特点主要就是面向字节流.传输可靠.面向连接.这篇博客,我们就重点讨论一下TCP协议如何确保传输的可靠性的. 确保传输可靠性的方式TCP ...

  4. cSpring Boot整合RabbitMQ详细教程

    来自:https://blog.csdn.net/qq_38455201/article/details/80308771 十分详细,几张图片不显示,看这个地址 1.首先我们简单了解一下消息中间件的应 ...

  5. Nginx负载均衡调度算法

    Nginx支持的负载均衡调度算法方式如下: 1. weight轮询(默认) 接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列 ...

  6. php 中php-fpm工作原理

    1.CGI 是服务器与后台语言交互的协议,有了这个协议,开发者可以使用任何语言处理服务器转发过来的请求,动态地生成内容, 保证了传递过来的数据是标准格式的(规定了以什么样的格式传哪些数据(URL.查询 ...

  7. CentOS7部署ntp服务器

    主机 角色 192.168.48.128 Server 192.168.48.129 Client 192.168.48.130 Client 所有主机安装ntp服务 yum install -y n ...

  8. CSS media queries 媒体查询

    最近在做一些页面打印时的特殊处理接触到了media queries,想系统学习一下,在MOZILLA DEVELOPER NETWORK看到一篇文章讲的很不错,结合自己的使用总结一下. CSS2/me ...

  9. 上传模板到SAP资源库

    事物代码:SMW0 -WEB资源库 如果创建后上载本地模板报错,说明没有维护文件类型,需要在导航栏的设置里维护MIME类型添加新的文件后缀名 维护好后再上载模板 ABAP下载模板:以下FORM可以参考 ...

  10. 超详细思路讲解SQL语句的查询实现,及数据的创建。

    最近一直在看数据库方面的问题,总结了一下SQL语句,这是部分详细的SQL问题,思路讲解: 第一步:创建数据库表,及插入数据信息 --Student(S#,Sname,Sage,Ssex) 学生表 CR ...