
Shiro
来自大山深处的Doge_
这个作者很懒,什么都没留下…
展开
-
SpringBoot整合Shiro-SimpleAuthenticationInfo参数该使用username还是User实体(十八)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/84723583前言相信大家在学习Shiro的时候,肯定免不了在网上百度搜索资料,在看了很多篇博客之后,肯定也发现一个问题,在 ShiroRealm 的 doGetAuthenticationInfo 方法返回值 SimpleAuthenticationInfo 中,第一个参数 有的传的是username 而有的传的是User实体,大家会奇怪,但是为了尽快完成需求,可能会暂时忽略这个问题,最后也不了转载 2020-11-10 17:42:22 · 355 阅读 · 0 评论 -
SpringBoot整合Shiro-关于登出时,Redis中缓存没有清理干净的问题(十七)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/84722724如果是跟着我的shiro系列博客敲下来的,其实还有一个bug,这是一个网友遇到的,他在登出的时候,发现redis中当前用户身份认证缓存没有清理掉,之前在 springboot整合shiro-ehcache缓存(五) 中测试添加权限之后,清理的是所有用户的缓存,所以没有发现这个问题。还记得上一篇博客: springboot整合shiro-实现自己登出(十六), 我们在登出方法中,清理了转载 2020-11-10 17:36:20 · 374 阅读 · 1 评论 -
SpringBoot整合Shiro-实现自己的登出(十六)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/84722252前面所有的博客登出都是使用的shiro默认自带的登出,使用方式也很简单,不用我们去实现退出功能,只要去访问一个退出的url(该 url是可以不存在),由LogoutFilter拦截住,清除session。(如果没有什么特殊需求,我建议直接使用shiro的登出) 具体如下:只要拦截到访问/logout的请求,就会被走logout对应的 LogoutFilter,自动登出。为什么要实转载 2020-11-10 12:31:09 · 518 阅读 · 0 评论 -
SpringBoot整合Shiro-对密码进行MD5并加盐处理(十五)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/84571067数据库中密码相关字段都不是明文,肯定是加密之后的,传统方式一般是使用MD5加密。单纯使用不加盐的MD5加密方式,当两个用户的密码相同时,会发现数据库中存在相同内容的密码,这样也是不安全的。我们希望即便是两个人的原始密码一样,加密后的结果也不一样。下面进行shiro密码 加密加盐配置:1.ShiroConfig中添加密码比较器/** * 配置密码比较器 * @return转载 2020-11-10 12:24:07 · 460 阅读 · 0 评论 -
关于Shiro使用密码加密加盐之后序列化失败的问题(十四)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/84567437shiro使用密码加盐之后,序列化失败 ERROR Failed to serialize之前的博客一直都是使用的明文存储,一直没有写对密码进行加密、加盐处理,有很长时间没有写关于shiro的博客了,期间有很多人加我咨询shiro的问题,今天有个哥们说使用密码加盐后出现序列化失败的问题,找了一下原因,最后记录到博客,希望能给遇到此问题的人一些帮助。原shiro配置这里只贴出来造成转载 2020-11-10 09:56:28 · 424 阅读 · 2 评论 -
Shiro整合Oauth2.0服务端和客户端实现(入门教程)(十三)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80510774随着项目上线,有几家公司来找我们合作,打算在各自的app中集成其他公司的功能,公司准备使用一种网页的安全认证来实现多个应用认证,类似于支付宝授权一样,根据不同的scope返回不同的用户信息。经过研究采用了现阶段比较流行的OAuth2.0 。下面是对OAuth2.0一些整理和总结以便以后的学习交流。什么是OAuth2.0?OAuth2.0 是一个开放标准,允许用户让第三方应用访问该用转载 2020-11-10 09:31:29 · 3983 阅读 · 1 评论 -
解决Shiro频繁访问Redis读取和更新session(十二)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80791339该博客是接着上一篇博客: Shiro使用redis作为缓存(解决shiro频繁访问Redis) 请将两篇博客同时打开,方便查看。前言关于shiro频繁访问redis,共分为两种,一种是频繁的去redis读取session , 一种是频繁的去更新redis 中的session,针对两种不同情况,分别写出解决方案。频繁读取session解决有两种方案:第一种方案:本地缓存上面的R转载 2020-11-10 09:21:35 · 970 阅读 · 0 评论 -
Shiro使用Redis作为缓存(解决Shiro频繁访问Redis)(十一)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80791219之前写过一篇博客,使用的一个开源项目,实现了redis作为缓存 缓存用户的权限 和 session信息,还有两个功能没有修改,一个是用户并发登录限制,一个是用户密码错误次数.本篇中几个类 也是使用的开源项目中的类,只不过是拿出来了,redis单独做的配置,方便进行优化。整合过程1.首先是整合RedisRedis客户端使用的是RedisTemplate,自己写了一个序列化工具继承R转载 2020-11-10 09:11:22 · 1814 阅读 · 0 评论 -
SpringBoot使用Shiro-整合Redis作为缓存(十)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80774649说在前面本来的整合过程是顺着博客的顺序来的,越往下,集成的越多,由于之前是使用ehcache缓存,现在改为redis,限制登录人数 以及 限制登录次数等 都需要改动,本篇为了简单,目前先将这两个功能下线,配置暂时是注销的,原类保存,在下篇博客中改。还有之前是使用SessionListener监听session创建来统计在线人数,在本篇中也将改为统计redis中的key数目。如果是转载 2020-11-09 17:52:23 · 409 阅读 · 0 评论 -
SpringBoot整合Shiro-实现验证码认证(九)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80470738验证码是有效防止暴力破解的一种手段,常用做法是在服务端产生一串随机字符串与当前用户会话关联(我们通常说的放入 Session),然后向终端用户展现一张经过“扰乱”的图片,只有当用户输入的内容与服务端产生的内容相同时才允许进行下一步操作.shiro添加验证码说的是shiro添加验证码,其实不如说是web服务登录功能添加验证码,因为这个功能和shiro完全没有任何关系,网上大都是 实现转载 2020-11-09 13:39:40 · 288 阅读 · 0 评论 -
SpringBoot整合Shiro-登录失败次数限制(八)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80461177这次讲讲如何限制用户登录尝试次数,防止坏人多次尝试,恶意暴力破解密码的情况出现,要限制用户登录尝试次数,必然要对用户名密码验证失败做记录,Shiro中用户名密码的验证交给了CredentialsMatcher 所以在CredentialsMatcher里面检查,记录登录次数是最简单的做法。当登录失败次数达到限制,修改数据库中的状态字段,并返回前台错误信息。因为之前的博客都是用的明文,转载 2020-11-09 13:27:51 · 642 阅读 · 0 评论 -
SpringBoot整合Shiro-在线人数以及并发登录人数控制(七)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80457041项目中有时候会遇到统计当前在线人数的需求,也有这种情况当A 用户在邯郸地区登录 ,然后A用户在北京地区再登录 ,要踢出邯郸登录的状态。如果用户在北京重新登录,那么又要踢出邯郸的用户,这样反复。这样保证了一个帐号只能同时一个人使用。那么下面来讲解一下 Shiro 怎么实现在线人数统计 以及 并发人数控制这个功能。并发人数控制参考开涛大神博客:http://jinnianshilon转载 2020-11-09 13:21:53 · 796 阅读 · 0 评论 -
SpringBoot整合Shiro-session管理(六)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80418112Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如Tomcat),不管是J2SE还是J2EE环境都可以使用,提供了会话管理,会话事件监听,会话存储/持久化,容器无关的集群,失效/过期支持,对Web的透明支持,SSO单点登录的支持等特性。即直接使用 Shiro 的会话管理可以直接替换如 Web 容器的会话管理。shiro中的session特性基于POJO/J2SE:sh转载 2020-11-09 13:07:59 · 706 阅读 · 0 评论 -
SpringBoot整合Shiro-ehcache缓存(五)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80309246快速入门篇中,我们最后有两个问题,其中关于无权限页面的问题已经解决了,还有一个问题就是每次访问服务,都会去查询数据库,真实的情况是权限并不会经常出现变化,所以最好的办法就是做缓存处理,如果只是公司后台运营管理系统,可能只启动一个单节点就够了,这个时候我们就可以用到ehcache缓存,如果是分布式多节点部署,最好使用redis缓存,关于使用redis缓存在下篇中讲shiro使用ehca转载 2020-11-09 12:46:46 · 250 阅读 · 0 评论 -
SpringBoot整合Shiro-配置记住我(四)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80306442记住我功能在各各网站是比较常见的,实现起来也都差不多,主要就是利用cookie来实现,而shiro对记住我功能的实现也是比较简单的,只需要几步即可。Shiro提供了记住我(RememberMe)的功能,比如访问一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:(1)、首先在登录页面选中RememberMe然后登录成功;如果是浏览器登录转载 2020-11-09 12:41:07 · 259 阅读 · 0 评论 -
SpringBoot整合Shiro-Whitelabel Error Page解决(三)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80301808解决 Whitelabel Error Page在上一篇 快速入门的博客最后,我们提到两个问题依然还没有解决,第一个就是错误页面的显示,我们最后配置好权限校验之后,访问无权限的后台服务,会报异常,说是访问没有权限的方法,异常如下:页面显示为默认springboot展示的页面Whitelabel Error Page,具体页面如下,并没有跳转到我们之前配置的页面 。也就是说shi转载 2020-11-09 12:34:03 · 528 阅读 · 0 评论 -
SpringBoot整合Shiro -快速入门(二)
原文:https://blog.youkuaiyun.com/qq_34021712/article/details/80294417使用springboot+mybatis+druid+thymleaf模板实现快速入门(关于整合mybatis和druid数据源,参考之前的博客,这里不做介绍),博客部分内容参考以下博客:https://blog.youkuaiyun.com/ityouknow/article/details/73836159http://www.cnblogs.com/strinkbug/p/6139393转载 2020-11-09 12:26:06 · 254 阅读 · 0 评论 -
Shiro-Shiro介绍(一)
shiro介绍收集于网络 shiro介绍 Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与Spring Security 一样都是做一个权限的安全框架,但是与Spring Security 相比,在于 Shiro 使用了比较简单易懂易于使用的授权方式。shiro属于轻量级框架,相对于security简单的多,也没有security那...转载 2020-11-09 12:01:51 · 285 阅读 · 0 评论