预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112968862A(43)申请公布日2021.06.15(21)申请号202011624182.1(22)申请日2020.12.31(71)申请人南京联创互联网技术有限公司地址210019江苏省南京市建邺区奥体大街69号1幢4层(72)发明人朱昊罗义斌杨冰李军朱学坤陈剑于东方袁源黄嘉诚(74)专利代理机构南京瑞弘专利商标事务所(普通合伙)32249代理人陈建和(51)Int.Cl.H04L29/06(2006.01)G06F21/41(2013.01)G06F21/46(2013.01)权利要求书1页说明书4页附图4页(54)发明名称一种基于redis的单点登录方法与装置(57)摘要一种基于Redis缓存实现防止重复登录的方法,将用户信息的userid作为Redis的key、将用户登录信息的token经过业务处理后作为value即关键值、缓存在Redis中,并设置失效时间,同一用户在多次登录时、只保留最后一次登录的用户登录信息;用户在在多个设备上访问同一个网站,或者在同一个设备上打开多个窗口去访问不同的网站或相同的网站时,运行验证程序时,通过验证当前用户登录信息和缓存中的用户登录信息是否一致判断该用户是否是合法登录状态,防止重复登录。CN112968862ACN112968862A权利要求书1/1页1.一种基于Redis缓存实现防止重复登录的方法,其特征是,将用户信息的userid作为Redis的key、将用户登录信息的token经过业务处理后作为value即关键值、缓存在Redis中,并设置失效时间,同一用户在多次登录时、只保留最后一次登录的用户登录信息;用户在在多个设备上访问同一个网站,或者在同一个设备上打开多个窗口去访问不同的网站或相同的网站时,运行验证程序时,通过验证当前用户登录信息和缓存中的用户登录信息是否一致判断该用户是否是合法登录状态,防止重复登录。2.根据权利要求1所述的基于Redis缓存实现防止重复登录的方法,其特征是,用户执行步骤的执行前置条件:1)Redis部署完成;2)服务端完成Redis配置信息;3)Redis存储的数据结构已确定;执行步骤:用户访问Redis数据库服务器,执行登录操作;校验用户信息:校验Redis中该用户key是否存在?如果存在,按用户输入验证信息并更新用户信息;如果不存在,存入用户信息;验证该用户的登录信息是否已存在,然后将用户的登录信息存入Redis。3.根据权利要求1所述的基于Redis缓存实现防止重复登录的方法,其特征是,验证方式:A.通过调用RedisTemplate.opsForValue().get(Objecto).toString()方法,将用户的userId作为入库的参数,获取返回结果;B.如果获取的结果为空,认为之前没有登录,通过调用RedisTemplate.opsForValue().set(Stringk,Objectv)方法,将本次登录信息的userId作为key,将业务处理后的token作为value,存入Redis中,调用RedisTemplate.expire(Stringk,longtimeout,TimeUnitunit)方法,设置Redis中key=userId的记录的失效时间,并完成登录;C.如果获取结果不为空,则认为之前已登录,并且还没有退出登录,通过调用RedisTemplate.delete(Stringkey)方法,将用户的userId作为入库参数,删除Redis中key=userId的记录,再调用RedisTemplate.opsForValue().set(Stringk,Objectv)方法,重新存入本次的登录信息,并完成登录。4.根据权利要求1所述的基于Redis缓存实现防止重复登录的方法,其特征是,用户登录信息的token经过业务处理后作为关键值(value)的生成方式:Token令牌+当前登录时的时间戳,经过MD5加密后生成的MD5码。5.根据权利要求1所述的基于Redis缓存实现防止重复登录的方法,其特征是,用户访问需要具备登录条件的接口:通过用户信息,调用RedisTemplate.opsForValue().get(Objecto).toString()方法,查询Redis中用该userId作为key的值是否存在,A.如不存在则抛出异常,不允许用户访问,前端跳到登录页面;B.如存在则通过String类的equals方法验证当前持有的登录信息和Redis中存的登录信息是否不一致,如一致,则可以访问;如不一致,则抛出异常,不允许用户访问,前端跳到登录页面。2CN112968862A说明书1/4页一种基于redis的单点登录方法与装置技术领域