Shiro最佳实践(一)了解Shiro
Apache Shiroadmin 发布于:2019-08-01 22:00:25
阅读:loading
本批次系列教程的主题是介绍Shiro的学习和实践,笔者根据自身的实战经验结合粗浅掌握的深度总结而来。纸上来的终觉浅,绝知此事要躬行,前后穿插着花费了两个多月的时间吧,加之工作较忙时断时续的进行着,坚持到现在总算是可以写出个七八篇文章了,开篇总结一下,它不失为一个不错的知识储备。在学习的过程中都是通过观看视频教程的方式,先后看了两个版本吧,再结合自身情况将一些技术点整理汇总,最后应用起来。
首先说一嘴Shiro是一个安全认证框架(权限管理),在之前接触的一些项目中它们都是有自己的权限管理,使用角色、菜单、用户经典的三分方式,本站也是如此,菜单与功能合并,提供根据菜单地址过滤的实现(记得对于路径变量使用的完全匹配与正则匹配的方式),一句话说,本站所有的权限控制较为严格,但本站的实现是基于角色管理、菜单管理这些功能模块来的,目前准备着手的新版博客系统采用的新一轮的技术栈去实现,所以准备采用Shiro去实现权限控制,在此之前也就只是想稍微的了解一下而已,然而一入此坑深似海。
Shiro是一个基于Java实现的安全框架,提供了一种简单但功能强大的应用程序安全实现,可执行身份验证,授权,加密和会话管理,并可用于保护任何应用程序(从命令行应用程序,移动应用程序到最大的Web和企业应用程序),通俗的说不被限制使用于JavaProject、WebProjet及Spring等各种性质的项目中。
Spring家族中的Spring Security成员与Apache Shiro项目类似,均是安全认证类的,目前对于前者尚无了解,根据感觉可知Spring Security是基于Spring系列走的,在可使用范围广度上肯定不如Shiro,另外据说使用Spring Security整合起来较为复杂,Spring官网的权限控制使用的Shiro。。。其实这些都是小事儿,抓住一个深入研究,解决实际问题就好。
为了显得更专业一点,我特意将Shiro项目源码及示例下载下来,从官方提供的示例中开始摸索,然而没进行多少就按着经验走了,捡一些跟实际工作需要联系紧密的知识点,项目地址为:https://github.com/apache/shiro,其中示例为samples模块中,地址为:https://github.com/apache/shiro/tree/master/samples,有兴趣的可以去看看,了解一下它官方提供的示例包含有哪些方面的东西,原理性的东西少说,本篇章节注重实例实践,围绕shiro-baisc、shiro-web、shiro-spring、shiro-springboot四种项目开始,其中springboot的将再后续给出。
Shiro模块结构图
本篇文章作为Shiro系列开始,简单的介绍了什么是Shiro,后续将使用它完成用户的认证与授权相关的系列知识,值得拥有,附上一个Shiro中文版API,地址为:https://blog.csdn.net/weixin_37012881/article/details/83504269。
源码下载
https://gitee.com/88911006/chendd-examples
shiro-basic为普通Java类型项目示例;
shiro-web为Web类型项目示例;
shiro-spring为整合Spring的XML配置项目示例;
登录用户:chendd/chendd123或sunm/sunm123,简化示例未使用数据库。
点赞