shiro账号安全(每一个账号只能同时存在于一台设备上)

本文介绍了使用Shiro实现账号安全,确保每个账号只能在一台设备上同时在线。通过分析Shiro的sessionDao工作原理,当新用户登录时检查并移除旧session,达到限制多设备登录的效果。配置包括sessionDao和sessionManager,并在认证方法中进行相应修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天我们记录一下shiro的一个账号安全。

在网上看了一下其他人的实现,个别案例显得繁琐,配置太过于沉重,今天在这里介绍一种简单的方法。

1.首先说一下我实现的思路

  • 首先,在这之前我们知道,当用户登陆成功之后,shiro会将用户的一些信息存储的sessionDao,同时,对于同一个浏览器对不同的账号,登陆时产生相同的sessionId,这也导致了用户信息之间的覆盖,不同的浏览器对于不同的账号,会产生不同的sessionId,(网上有一些根据sessionId来实现的我是没有看懂)
  • 既然我们知道shiro会将用户存储到sessionDao 那么,我们就可以从shiro中拿出这些登陆的信息,然后作比较,根据id或者name随意啦,如果匹配上了,那么我们就将这个session强制下线,添加我们新的session,那么我们的功能就实现了。

 2.xml配置(我只提供最简单的配置,如果没有特殊的要求是够用了)

        根据上面的思路,我们总结一下,我们需要用到的有sessionDao,sessionManage(session的管理器当然需要拉),就OK了,当                然shiro框架的整合配置就不说了,肯定要配置啊。

  • 1.加载我们的sessionDao
<bean id="sessionDao" class="org.apac
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值