先说下写本文的原因:现在有个bug:登陆时,Shiro 可以正常获取到用户信息,但是退出登陆时获取不到用户信息,从而无法实 现保存退出登陆的时间。
很是头大,为什么获取不到,那我退出登陆时,要存相应的退出时间,要怎么办?肿么办?当时很急,又找不到可靠的解决方法。
看博客看了一大堆,感觉对我来说,都没有任何的用处,然后去看了下 Shiro 中获取 String 的详解。
当时就换了个思路,先获取用户名,然后再去获取用户全部信息,一样的效果嘛。看吧,有时候就要换个角度看问题,就像谈恋爱一样,生气吵架了就换对方的角度去想想,这样也就不会生那么多气了嘛!
好了,言归正传,如果要从 shiro 中获取用户名信息,只需要一行代码,就搞定!
// Security中获取用户名
String userName = (String)SecurityUtils.getSubject().getPrincipal();
当然,如果在项目中,遇到Security不懂的话,可以去百度看下 Security 详解。
这里只是为了解决当前这个问题。
我是进阶的球儿,大家一起2019年的爬坑历程。感觉分享很给力的话给个赞,谢谢!!!有问题也可以下方留言沟通。