- 网络安全特性
网络安全King
web安全安全
网络设备安全特性:手动关闭没有使用的功能和端口,可以提高安全性提高安全性进行登录ssh使用的stelent配置ssh用户的顺序:1.stelentseverenable2.需要创建用户User-ingterfacevty04Authentication-modeaaaProtocolinboundssh//打开ssh功能AaaLocal-user用户名password(simple/cipher)
- Ruoyi-Radius详解
靖节先生
基础框架网络协议java
Ruoyi-Radius详解一、模块功能架构核心目标:实现基于RADIUS协议的AAA(认证、授权、计费)服务,与若依管理系统无缝集成,复用其用户体系与权限模型。功能细分:认证(Authentication):校验用户凭证(用户名/密码)合法性。授权(Authorization):动态返回用户网络权限属性(如VLAN、IP池、带宽策略)。计费(Accounting):记录用户会话时长、流量消耗等计
- 给Kkfileview加请求头鉴权接入
qq_41369135
okhttpkkfileview
所有接入前端token放localStorage,或者后端cookie中获取鉴权本案例以放localStorage为例一、创建global.js$(document).ready(function(){//设置全局的AJAX请求头$.ajaxSetup({headers:{'Authentication':localStorage.getItem('Authentication')}});});二
- spring security 实现短信登录---若依RuoYi整合短信验证码登录
菜鸡且互啄69
springjava后端
背景:若依默认使用账号密码进行登录,但是咱们客户需要增加一个短信登录功能,即在不更改原有账号密码登录的基础上,整合短信验证码登录。本案例基于RuoYi-Vue版本实现,其他版本应该大同小异。本文参考http://t.csdnimg.cn/go78Z1自定义短信登录token验证仿照UsernamePasswordAuthenticationToken类,编写短信登录token验证。我们自己构造的这
- kong插件详解之Basic Authentication
张声录1
kongkong
1.3、BasicAuthentication支持基于用户名和密码的基本认证,通常用于简单的身份验证场景。1.3.1、环境准备1.3.1.1、创建一个服务,basic-auth-servicecurl-i-s-XPOSThttp://localhost:8001/services\--dataname=basic-auth-service\--dataurl='http://localhost:8
- GitHub Please use a personal access token instead.
烟花下的孤独
gitios
今天把本地项目的一个组件库分享上传到github上,突然就出现了警告,remote:SupportforpasswordauthenticationwasremovedonAugust13,2021.Pleaseuseapersonalaccesstokeninstead.remote:Pleaseseehttps://github.blog/2020-12-15-token-authentica
- Spring Security 学习大纲
不听话的小耳朵
SpringSecurityspring学习java
SpringSecurity系统学习大纲一、基础入门SpringSecurity概述安全框架的核心功能(认证、授权、攻击防护)核心组件:SecurityFilterChain,UserDetailsService,AuthenticationProvider,AccessDecisionManager与Servlet容器的集成原理(FilterChainProxy,DelegatingFilter
- 什么是双因素身份验证 (2FA) ?
鸠摩智首席音效师
安全
双因素身份验证(Two-factorauthentication-2FA)是一种安全措施,旨在为您的在线帐户提供额外的保护层。在本教程中,我们将深入了解2FA是什么,它是如何工作的,以及如何为您的帐户设置它。什么是2FA?2FA是一种安全过程,它要求用户在访问自己的帐户之前提供两种不同形式的身份验证。通常,这涉及到用户知道的东西(如密码)和用户拥有的东西(如移动设备)。2FA的目标是提供额外的安全
- 架构第二十六章:jumpserver
琴剑诗酒
架构
1.jumpserver:堡垒机官网:https://jumpserver.org功能:身份验证authentication授权控制authorization账号管理accounting安全审计auditing2.安装部署(本地安装)cd/opttar-xfjumpserver-offline-installer-v2.23.3-amd64-30.tar.gzcdjumpserver-offlin
- Ubuntu启用ROOT用户
摸魚的猫
ubuntu服务器运维
1、先用ubuntu账号登录,创建一个root密码sudopasswdroot2、输入root密码3、编辑ssh配置文件sudovi/etc/ssh/sshd_config4、在config中添加PermitRootLoginyes5、找到PasswordAuthenticationno改成yes保存文件。PasswordAuthentication yes6、重启ssh服务,使设置生效sudos
- Flutter Webview 插件对比(webview_flutter_wkwebview.AuthenticationChallengeResponse)
卡尔特斯
Flutterflutter
一、简介在使用webview_flutter4.10.0插件时iOS平台报错webview_flutter_wkwebview.AuthenticationChallengeResponse。解决方案:方式一:问题解决方案,问题是从webview_flutter_wkwebview3.18.0后出现的:1、可以降低webview_flutter版本,使用依赖webview_flutter_wkwe
- ASP.NET Core 高级组件:标识框架(identity)
痕迹灬
.netcore实战.netcorec#
Authentication是授权,验证,它是用来验证是否登录成功,Authorization是授权,它是用来判断用户是否有权限访问,它应该是基于Authentication之上的。使用Identity(标识)框架:一般的系统中都需要通过数据库保存用户、角色等信息,并且需要注册、登录、密码重置、角色管理等功能,但是ASP.NETCore提供了标识(identity)框架,内置了对用户、角色等表的管
- Asp.Net Core鉴权授权:标识框架identity
XieYZSND
.netasp.net数据库
在一个系统中,不是所有功能都能被自由地访问的,比如有的功能需要注册用户才能访问,有的功能需要VIP用户才能访问。针对资源的访问限制有两个概念:Authentication与Authorization,即鉴权与授权。Authentication:用来对访问者的用户身份进行验证;Authorization:用来验证访问者的用户身份是否有对资源进行访问的权限。通俗来说,Authentication是用来
- ASP.NET Core对JWT的封装
AAA猪饲料批发李师傅
.NETASP.NETCoreJWTAuthorize
目录JWT封装[Authorize]的注意事项JWT封装NuGet库|Microsoft.AspNetCore.Authentication.JwtBearer9.0.1https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBearer配置JWT节点,节点下创建SigningKey、ExpireSeconds两个
- Django + DRF 接口访问 CSRF Failed: CSRF cookie not set 怎么办,教你解决
wxlo0.
拳打脚踢Python后端pythondjangodrf
一.报错信息"detail":"CSRFFailed:CSRFcookienotset."二.错误原因因为在SessionAuthentication中强制使用CSRFToken。如果未传递有效的CSRF令牌,则会引发403错误。三.解决办法你可以自定义中间件来禁止CSRFToken验证MIDDLEWARE=[..."utils.csrf_middleware.NotUseCsrfTokenMid
- 交换机安全加固配置(H3C)
normanhere
安全网络
-----------------管理类------------------#登录密码错误延迟60秒重试attack-defenseloginreauthentication-delay60#配置管理打开你需要的远程管理方式这里推荐打开SSH和HTTPS并调用ACL限定能够访问的内网IP地址sshserverenablesshserveracl2000telnetserverenabletelne
- caddy2配置http_basic用于验证用户名密码才允许访问页面
野木香
http网络协议网络
参考:basicauth(Caddyfile指令)—Caddyv2中文文档1,查看caddy是否已经包含了BasicAuth插件命令:caddylist-modules|grephttp_basic如果显示:http.authentication.providers.http_basic则代表包含BasicAuth模块,此模块可用于基本的用户名密码验证2,创建密码一,执行命令:caddyhash-
- 使用SecureCRT连接腾讯云报错:Password authentication failed
暗渡x
Linuxubuntulinux服务器
刚刚在腾讯云装了Ubuntu18.04镜像,结果一直报错Passwordauthenticationfailed让确认我的用户名和密码,找了教程改了ssh_config文件还是不行,然后看了一下文档才知道腾讯云Ubuntu的默认用户名是Ubuntu,默认没有设置root用户和密码,这在安装虚拟机的时候我倒是没遇到过,以下是解决方案:正常的话就先搞这个再去改配置文件就行了。
- MySql:局域网和权限用户管理
geovindu
数据库编程
MySql5.6(XP)/5.7(win7)添加用户和设置局域访问权限操作.请在http://sourceforge.net/下载MySqlControlCenter(不是安装版本).usemysql;select*fromuser;updateusersetauthentication_string=password('0214')whereuser='geovindu';updateusers
- git创建仓库执行git push -u origin master报错:fatal: Authentication failed for ‘xxxx‘
前端前行者
gitvuegitgithub
git简单的命令行入门教程:Git全局设置:gitconfig--globaluser.name"xxx"gitconfig--globaluser.email"
[email protected]"创建git仓库:mkdirvue_shopcdvue_shopgitinittouchREADME.mdgitaddREADME.mdgitcommit-m"firstcommit"gitremoteaddori
- git操作及fatal: Authentication failed for错误解决
番茄编程
gitgit
1、配置用户信息gitconfig--globaluser.name[username]gitconfig--globaluser.email[email]2、查询用户信息gitconfig--list3、如果push遇到在输入密码输错后,就会报这个错误fatal:Authenticationfailedfor解决办法:gitconfig--system--unsetcredential.help
- remote: invalid credentials fatal: Authentication failed for
执剑走天涯xp
git
$gitclonehttp://gitea.xxx.com/xxx/xxx.gitCloninginto'xxx'...remote:invalidcredentialsfatal:Authenticationfailedfor'http://gitea.xxx.com/xxx/xxx.git/'使用gitea执行gitclone报错remote:invalidcredentialsfatal:A
- SpringSecurity相关面试试题及答案解析
HappyAcmen
java面试题相关总结面试职场和发展
SpringSecurity是一个功能强大且高度可定制的Java安全框架,主要用于保护基于Java的应用程序。文章目录1.核心功能2.核心组件3.工作原理4.相关试题1.什么是SpringSecurity?它的主要功能是什么?2.简述一下Authentication和Authorization的区别?3.SpringSecurity的核心组件有哪些?4.如何在SpringSecurity中实现身份
- 第十三章 I 开头的术语
yaoxin521123
IRIS相关术语oracle数据库
文章目录第十三章I开头的术语安装目录(install-dir)实例(instance)实例认证(InstanceAuthentication)实例方法(instancemethod)实例化(instantiate)中间源代码(intermediatesourcecode)InterSystemsIRIS启动器(InterSystemsIRISlauncher)InterSystemsIRIS数据库
- python3连接mysql8.0
_l_r_k_
数据库python
最近在学习数据库,尝试用python连接mysql8.0,但是一直报错,最后才发现是密码设置错误,导致一直连接不上数据库。先在my.ini配置:[mysqld]default_authentication_plugin=mysql_native_password再在mysql下执行命令:ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_pa
- Maui学习笔记-身份认证和授权案例
Mr.L70517
Maui学习笔记学习笔记iosc#http
在深入研究身份验证和授权时,可能会遇到很多术语。我们来简单介绍一下。Authentication,简单来讲时认证、验证身份检查用户名和密码,更高级方法设计到指纹、扫描、人脸识别或2FA认证。Authorization,授权,一旦通过身份认证,系统就可以决定当前用户是否有访问某些信息或执行一些操作的授权。OpenAuthorization(OAuth),开放授权,它允许第三方用户访问你的程序,而无需
- Spring Security 详解:涵盖架构原理、多种认证授权方式、集成运用及安全配置要点汇总
软件职业规划
springspring架构安全
一、SpringSecurity概述(一)简介SpringSecurity是一个功能强大且高度可定制的身份验证和访问控制框架,用于在Java应用程序中提供安全机制。它构建在Spring框架之上,能够轻松地集成到基于Spring的应用程序中,包括SpringBoot应用。(二)核心功能认证(Authentication)这是确认用户身份的过程。SpringSecurity支持多种认证方式,如基于表单
- 如何在服务器中实现双因子认证?
网硕互联的小客服
服务器运维
在服务器中实现双因子认证(Two-FactorAuthentication,2FA)通常涉及多个步骤和配置,具体实现方法可能因服务器类型、操作系统以及所使用的认证服务而有所不同。以下是一个一般性的指南,帮助你了解如何在服务器中实现双因子认证:选择双因子认证服务:你可以选择使用现成的双因子认证服务,如GoogleAuthenticator、Authy、Duo等。或者,你也可以选择自己搭建基于开源
- Spring Security 入门
后端java
SpringSecurity是Spring框架中一个功能强大且灵活的安全模块。它为应用程序提供了强大的认证和授权功能,同时支持防止常见的安全攻击(如CSRF和会话固定攻击)。在开发Web应用程序时,理解和配置SpringSecurity是保障系统安全的关键。一、SpringSecurity的核心概念认证(Authentication)认证是指验证用户的身份,即确认用户是谁。SpringSecuri
- Blazor Web App 项目模板( .NET 9.0 )身份验证 Account 使用备忘03:获取登录用户信息
cqths
Blazor#BlazorWebAppwebapp.netc#bootstrap
一、通过SignInManager获取@injectSignInManagerSignInManager......varuser=SignInManager.Context.User;二、通过authenticationState获取注:在Program.cs中默认添加了服务builder.Services.AddCascadingAuthenticationState();[Cascading
- Hadoop(一)
朱辉辉33
hadooplinux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
- maven An error occurred while filtering resources
blackproof
maven报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
- jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
- java 位移运算与乘法运算
周凡杨
java位移运算乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
- java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
- MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
- Spring_Transactional_Propagation
布衣凌宇
springtransactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
- 我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
- Jqplot之折线图
antlove
jsjqueryWebtimeseriesjqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
- JDBC中事务处理应用
百合不是茶
javaJDBC编程事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
- [转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java多线程线程安全HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
- ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScriptAngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
- 【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
- 上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
- 通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
- java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
- Oracle基本操作
ccii
Oracle SQL总结Oracle SQL语法Oracle基本操作Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
- [强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
- 给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
- SpringMVC and Struts2
dashuaifu
struts2springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
- windows常用命令行命令
dcj3sjt126com
windowscmdcommand
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
- 再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
- Objective-c单例模式的正确写法
jsntghf
单例iosiPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
- jquery easyui datagrid 加载成功,选中某一行
hae
jqueryeasyuidatagrid数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
- jQuery用户数字打分评价效果
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
- mybatis的paramType
kerryg
DAOsql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
- centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
- 利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
- 实现一个sizeof获取Java对象大小
teasp
javaHotSpot内存对象大小sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
- SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本