今天我们记录一下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