使用JWT,封号,踢人,强制用户退出到底怎么实现?

使用JWT,封号,踢人,强制用户退出到底怎么实现?,第1张

JSON Web Token(JWT)作为目前最流行的跨域认证方案大家都不陌生了吧。很多系统都在使用JWT替代session认证,这两者有啥区别呢?

简言之,JWT是将认证后的数据保存在客户端,session是保存在服务器端。

使用JWT替代session认证后,服务器不用维护session,分布式环境下不需要单点存储session。因为JWT的自解释性,只要验证JWT是否合法就OK啦。大大提升了系统的可扩展性,特别适合当下微服务大行其道的大环境。

加入一个

但是。。。

老板想要实现踢人,封号怎么办呢?

第一个想法就是颁布jwt时,把jwt存到一个中心redis中。每次访问验证jwt时看看redis里是否有这个token,没有这个token就认证失败。踢人封号只用把用户关联的jwt删除掉就ok了!就可以愉快的回家抱媳妇了(抱歉可能你没有)。

且慢,这么玩完全违背了jwt的初衷,服务器又变了有状态了,何苦脱裤子放屁呢,直接用session不就完了?

讲真的jwt的设计也不太适合这样的场景。

可以采用类似oauth20协议中的做法,认证后颁布2个token,access token和refresh token。

客户端要长时间维护登录态,就需要当访问令牌失效后,自动使用刷新令牌获取新的访问令牌。或者在访问令牌失效之前,提前刷新令牌。

现在我们想要踢人,只需要将用户相关的刷新令牌从redis里删除。当前的访问令牌失效后,自然也没有办法再刷新令牌了。从而达到强制用户登出的目的。

这么设计有个缺陷就是强制用户登出不是及时的。需要有一个等待访问令牌过期的时间。如果希望及时性高点,可以将访问令牌的过期时间设置短一点,但刷新token的频率就会升高。这个需要根据自己的业务进行权衡。

每次调用服务api时仍然是原汁原味的jwt无状态认证,无需访问任何中心存储。仅在刷新访问令牌的时候需要访问中心存储。也算是一种折中的方案。

欢迎关注作者的github项目,学习微服务:

一个支持多店铺的电商系统,基于Spring Boot的微服务构架

https://githubcom/ikeyit/ikeyit-services

一个基于React的电商管理后台

https://githubcom/ikeyit/ikeyit-management-web

上次我得到一些CS的参数,不知对haihai有没有用处?我是一只大大的菜鸟,不会用。请不要见笑了。:)

CS各种参数详解

--------------------------------------------------------------------------------

参数的输入列即是玩家们输入addbot的地方

按下「~」即可开启

使用时先输入参数名

然后按下SPACE空出一格

再输入设定值即可

一般玩家进入游戏都只能用到Client(玩家用参数)

不过如果你是开LAN GAME的人

就能进阶到Server专用指令下表内指令后的参数大多是默认值

大多数指令之参数0代表关闭此功能

地图名单存放在cstrike\mapcycletxt,不可以加扩展名bsp

=====================================================================================

Server专用

banid 几分钟 #编号 kick踢人Wonid让他换名字后也进不来,除非他换计算机,时间0=永远

deathmatch 1开dm模式,一个人一组,把其它人解决掉

decalfrequency 30玩家的logo多久可喷一次(秒)

kick #编号踢人(server专用,踢编号需加#,踢名字不用,但大小写要一样)

mapcyclefile mapcycletxt选择地图切换的设定档,内定为mapcycletxt,可准备好几份设定档

mp_autokick 1睡死和TK三次后自动被系统踢掉

mp_autoteambalance 1自动队伍平衡,0为准许双方人数不平均和Bot玩时的好参数!

mp_buytime 15以分钟计,即90秒内均可回基地买东西

mp_c4timer 45设定C4炸弹的爆炸时间。最低15秒,最高90秒

mp_chasecam 0设定观察员模式的玩家只能跟在别人的屁股

mp_consistency 1限制某些模型被更改,大的C4或大的别人的武器容易让人发现

mp_decals 250贴图分辨率,降低可减少lag

mp_fadetoblack 1这样死后画面变黑 活人可以看得到尸体

mp_falldamage 1会不会摔伤

mp_flashlight 1开启/关闭可否使用手电筒。1是开启,0是关闭

mp_footsteps 1开启/关闭脚步声。1是开启,0是关闭

mp_forcechasecam 0死掉的人:0自由模式、1只能跟着自己队友走动、2尸体视线留在原地

mp_forcerespawn 0死后立即重新出发

mp_freezetime x每一场开始前的购物静止秒数

mp_friendly_genrade_damage 0设定同队的是否可以手榴弹丢伤队友

mp_friendlyfire 0设定会不会杀伤队友。1是会,0是关闭

mp_ghostfrequency 01鬼魂每秒钟更新的频率,越高越不会Lag

mp_hostagepenalty 13杀了多少人质或队友后会被踢

mp_limitteams 2队伍最大相差人数,太多人便不能再加入

(如mp_autoteambalance 1则相差到此人数server便会自动平衡)

mp_logfile 1开不开纪录文件(那要怎么存盘)

mp_logmessages 0控制是否把游戏进行间玩家的对话也记录到log文件中,

此项设定必需同时设定"log on""mp_logfile 1"才可生效

mp_lowlag 0子弹打在墙上的效果,速度快用0,慢用1

mp_mapvoteratio 06票选地图的人数达60%以上才会换地图,00-10

mp_roundtime 5设定每回合的时间。(只能3~15分钟)

mp_tkpunish 1TK者下回合会自杀

mp_weaponstay 0保留落下的武器

nightvision 1夜试镜能否使用

pauseble 0可以战斗中按暂停(Pause键,在F12键的右边第三颗)

status列出玩家IP编号等

sv_accelerate 50加速

sv_aim 0自动瞄准头部

sv_airaccelerate 10空中移动的速度

sv_airmove 1可否在空中移动&转向

sv_bounce 1各种奖励金开启

sv_cheats 0可不可以使用内定秘技

sv_clienttrace 1可能是有关网络封包的设定

sv_clipmode 0Server端切换是否允许Client端穿墙

sv_clipmode 0应该是对象是否用3D表示like mp5

sv_friction 403D画面方面的东东

sv_gravity 800控制重力,800是正常重力,-999到999999

sv_maxrate 0限制网络传输的资料最大值

sv_maxspeed 320最大速度

sv_minrate 0限制网络传输的资料最小值

sv_password 0进入游戏的密码

sv_restartround 0设定每隔几分钟回复分数/武器/金钱的初始值。(没效)

sv_sendvelocity 0设定1开启较复杂的花样以及物理设定,适用较快的Server

sv_stepsize 18脚步大小-_-; 越大爬坡越快吧

sv_waterfriction 10水中的阻力

users列出线上使用者名称及Userid(Server产生)及Uniqueid(WON server产生)

changelevel 地图名立刻换地图,所有USER不会离开游戏

map 地图名立刻换地图,但所有USER会离开游戏。

mp_maxrounds XX→几回合之后换地图

mp_winlimit X任一队胜X场便换图,例5战3胜制,X=3

mp_timelimit 45每隔多少时间换一次地图

(以上三个只能选一个,因此要"mp_maxrounds 20"前要先"mp_timelimit 0")

sv_rcon_maxfailures 5试图取得管理员权限失败超过几次,CDKEY即被BAN

sv_rcon_minfailuretime 30单位秒。如果在此时间内试图取得管理员权限又失败了

sv_rcon_minfailures指定的次数,该CDKEY即被BAN

sv_rcon_banpenalty 0指定在试图取得管理员权限中如果BAN CDKEY,BAN多久。0=永远

=====================================================================================

玩家用参数

adjust_crosshair每打一次准心就会换颜色,共有五种颜色,选个亮一点吧!!

ah 1设定是否开始自动说明(戏中给玩家引导)

cl_allowupload 1允许用户方上传自己的资料如logo

cl_allowdownload 1允许用户方自动下传sever的资料如map

cl_download_ingame 1允许用户方在game中自动下传sever的资料,如logo,map

cl_cmdrate 30modem用户设30,宽频设40~50,Lan=50

cl_lw X有无武器的动画,最好设x=1

cl_lb 0此项与血渍有关,设1比较真实,但会减低速度

cl_lc 1和cs的新的网络技术有关,最好设x=1

cl_hidefrags 1设定是否隐藏除了自己以外其它人的杀敌数与死亡数

cl_observercrosshair 1设定在观察员模式的时候是否要开起准星

cl_updaterate 20上传速度,如果是宽频设30~40,如果在比较多人的站设25,modem=15,Lan=50

con_color 255 155 50HUD的颜色(RGB)

dm 1设定1来开启游戏开始时的讯息介绍

drawradar显示雷达,有时雷达会突然消失,就可以用(有时候SERVER关掉了你按也没用)

fastsprites 0烟雾特效,0逼真,1像超任,2像GameBoy

fps_max Xx=1~100,游戏输出给显示卡的最大fps数,内定为72

有不顺或鼠标一动就滑来滑去的情形时,把他设低会有很大的改善

hideradar关闭雷达(测试你懂不懂得辨认队友,以免tk)

hud_centerid 0设定为1时,玩家ID会出现在屏幕的正中央。否则会出现在画面的左下角。

hud_fastswitch 0快速换武器,按数字直接换不用再按鼠标

keys显示自己的CD-KEY信息(CS没效)

kill自杀!!死定的时候……了断自已吧…

lefthand 0设定屏幕上的玩家是左撇子,或是右撇子。

listmaps显示server的地图排程

listplayers显示大家的编号与姓名

maps 开头列出已安装之地图档名,(只列出指定字母开头的文件名,为所有地图)

max_shells 50子弹的最大显示数量(太多会lag)0-500

max_smokepuffs 50烟雾弹的最大显示数量,0-500

name 新名字换名字,活着的时候才能用

nightvision开关夜视镜

r_speeds 0以console文字方式显示平均fps,draw speed及polygon info

r_speeds 0强制工作!!对网速能稍做改善!有没有效果……自已看吧!

rate 2500从server接受信息的速度,太大太小都会lag,要选适合的

setinfo ah 1是否提供自动说明的功能

setinfo dm 1换地图后开启地图的简介

setinfo ghosts 0观察模式时是否鬼魂关掉,对lag有帮助

setinfo lefthand 0设定屏幕上的玩家是左撇子,或是右撇子。

setinfo vgui_menus 1图形化选单开关

sizedown缩小屏幕

sizeup放大屏幕

timeleft让你知道还有几分钟换地图

version显示版本信息

vote 编号对TKer,Camper还有Cheater投票,过6成的人投票就行

votemap 地图名玩家可以投票投下一张地图

sensitivity X鼠标速度01-不限(20是config的最大值)

zoom_sensitivity_ratio设定使用狙击镜时鼠标移动速度

ping显示Server ping client值

pingservers显示Client ping server值

net_graph x打开测FPS与联机速的工具 x=1开 x=0关,开起此项多少会减少fps

net_graphpos x工具的位置 x=1,2,3

net_graphwidth 192工具的大小

volume 08调整音量大小,实际音量为(volume/hisound)

hisound 1000000设定音量最大值,实际音量为(volume/hisound)

bgmvolume 1000000背景音效音乐之音量大小

disconnect离开游戏,保持在CS console状态

exit离开游戏,关闭CS,回到桌面

quit离开游戏,关闭CS,回到桌面

reconnect不离线直接重组联机

retry离线并重新联机

connect IP联机到指定Server

=====================================================================================

console本身

developer XX=0时关闭developer(开发者)模式,X=1时打开

使用developer(开发者)模式,可以使用较多的指令(如秘技),且游戏加载过程及进行中左上角会显示console讯息(游戏中讯息会干扰雷达)

cmdlist列出所有console指令,(可在后面加上叙述,只列出指定字母开头的指令)

clear清除console上的文字

scr_conspeed 600设定console文字卷动速度

=====================================================================================

注意:以下部分为增加图象质量,如欲提高显示速度请使用相反设置

命令 默认值 建议更改值 说明

cl_himodels 00,使用较低细节的人物皮肤,提高显示速度

gl_playermip 20,渲染质量,越高数字质量越差显示也越快

max_smokepuffs 030,设定同时间可显示的烟雾数量(服务器端用)

fps_max 52100,显示最大FPS数,高性能机器可改大

mp_decals 20300,最大同时显示贴图

hisound 01,高质量声音

loadas8bit 10,使用8bit音质(较低质量)

s_a3d 00,使用A3D系列声卡设置为1

s_eax 00,使用创新系列声卡设置为1

bgmvolume 01,播放CD音乐

cl_download_ingame 1下载其它玩家LOGO、贴图等

gl_smoothmodels 13,人物动作更平滑

gl_round_down 13

setinfo "ah" 01

setinfo "ghosts" 01,是否显示鬼魂

setinfo "vgui_menus" 01,是否显示图形购买界面

cl_gaitestimation 10,衔接人物两个动作

cl_nopred 00

gl_picmip 02,渲染质量,越大的数字图象质量越低速度越快

r_drawviewmodel 01,显示武器

=====================================================================================

录像类命令

首先你必须拥有CS

激活游戏的时候请修改快捷方式内的参数

\hlexe -console -game cstrike -condebug

此为范例请将路径更改为你自己游戏安装的路径

如果没有hlexe使用cstrikeexe也可以。

进入游戏,并正常开始一场游戏

当您想录像时请按~键呼叫出控制台,在控制台输入以下命令:

record filename开始记录一个录像,录像保存在\cstrike\filenamedem

demos循环播放使用 startdemos命令播放的录像

listdemo demoname列出录像信息

playdemo filename使用正常速度播放 filenamedem 录像

playvol 9设置录像回放次数

removedemo demo sgmt移除录像中设置的片断位置

setdemoinfo demo sgmt info增加一个录像信息,例如一段文字,渐进渐出或者快进快退

startdemos循环播放一段录像

startmovie filename播放一段录像

stop停止录像

stopdemo同上

swapdemo demo seg seg交换录像中两处片断位置

imedemo demoname播放一段录像,同时显示最大fps(每秒显示帧速)及平均fps

appenddemo demoname在该录像文件后继续录像, 不覆盖原录像

removedemo从DEMO中剪掉一个片段,先用listdemo 看录像的信息

edgefriction 23D画面方面的东东

hpk_maxsize 05在customhpk多大时, 系统自动砍掉, 以MB为单位

=====================================================================================

远程遥控

先在Servercfg 加上Rcon_password 密码

游戏中player 再以Rcon_password 密码 登入

Player 即摇身一变为AMD,可下达Server指令

但指令前需加rcon空一格。

rcon addip 0 <ip>拒绝某个IP进入游戏,0表是永久,以分钟计,IP之取得由rcon status

rcon addid 0 <won id> kick设定某个WON ID不准进入游戏,时间设定同上

rcon kick xxx把某个玩家踼掉,xxx可以是玩家id,不过由于有些人会加些特殊码,有时会失效,则必需改用玩家编号,(编号由rcon users可取得,每个id最前方的数字即为玩家编码,用rcon kick # yyy #)

rcon listid(看bannd id)

rcon restartserver地图重玩

rcon say ID:server talk

rcon say xxxx由server发生公告,不管死掉还是活着的都看的到,若是发出来讯息很怪,每个字会被"夹住,可改用rcon say "xxxx"即可改善,不过11版应该不会有这现象了

rcon status看Info

rcon users看所有人资料

rcon writeip将Ban掉的ID存入server

rcon writeid将Ban掉的WON ID存入server

rcon_address IPServer满人时候用,只可以进行管理,不能Play

rcon_password 密码AMD登入密码

在使用addip和addid的同时, 建议最好做一个autoexeccfg档, 里面写下exec listipcfgexec bannedcfg

这样子在Server重新激活时, 才会把上一次存下的记录Load到新激活的Server里, 而名字最好就用Toexeccfg,因为valverc里设定是找这个档来跑, 或是自行修改那个档去捉别的也行, 其中, listipcfg是ban掉的ip记录文件, bannedcfg是ban掉的won id记录文件, 最后, 不建议把exec listipcfg和exec bannedcfg放入servercfg, 这 样会使每次换地图时就load一次, 由rcon listip和rcon listid很快就会发现被重复的记录塞满

=====================================================================================

秘技,sv_cheats 1(developer 1)时才能使用以下指令

impulse101加16000元

god无敌模式(试不出来)

lambert -101看到人们在黑暗中发亮

notarget x使计算机玩家忽略你的存在(没用)

noclip x穿墙模式(试不出来)

cl_backspeed 999加快后移速度

cl_forwardspeed 999加快前移速度

cl_sidespeed 999加快侧移速度

gl_zmax 0可看及射穿墙壁

gl_zmax 100看穿墙壁

gl_zmax 3600让墙壁恢复原状

sv_clienttrace 9999超级自动瞄准

clienttrace 0000切回手动瞄准

givespaceweapon_awp得到Arctic Sniper Rifle

GIVE 物品名取得物品(试不出来)

GIVE WEAPON_武器名取得武器(试不出来)

武器名称如下:

GRAPPLE

KNIFE

PIPEWRENCH

EAGLE

M249

SNIPERRIFLE

DISPLACER

SHOCKRIFLE

SPORELAUNCHER

你可以使用发送一个用户账号数据到服务器端做一个登陆状态,然后可以在服务器端手动踢出该账号,使其就算发送数据到服务器也不做处理。

在这里我直接用了易语言的取回客户简易的做了一个,不知道能不能满足你的要求!

==============================================

客户端:

服务器端:

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 使用JWT,封号,踢人,强制用户退出到底怎么实现?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情