Shiro一键安装

极客

本文目录导读:

Shiro一键安装

  1. 我第一次接触“一键安装”的Shiro,差点感动哭了
  2. 更狠的来了:有人直接做了“一键安装脚本”
  3. 但是!别高兴太早,有些坑你得知道
  4. 我自己现在怎么玩Shiro?
  5. 最后说几句掏心窝子的话

Shiro一键安装 到底有多爽?手把手教你告别配置地狱!

说真的,兄弟们,你们有没有被Shiro的配置折磨过?

我反正被折磨过,那会儿刚接触Spring Boot整合Shiro,光是搞明白ShiroFilterFactoryBean、SecurityManager、Realm这几层关系,就花了我整整一个周末,更别提后面还要配EhCache、SessionManager、RememberMe……哎呦我去,头都大了好吗!每次新建一个项目,都要把这些配置复制来复制去,改改路径、改改参数,稍微漏一个,启动就报错,那种感觉,就像你明明只想做个蛋炒饭,结果非要你先去养鸡、种水稻、再打口铁锅出来。

后来我就在想,Shiro一键安装这玩意儿,到底有没有人做出来?结果你猜怎么着?还真有!而且不止一种方案。

我第一次接触“一键安装”的Shiro,差点感动哭了

记得那天我在GitHub上瞎逛,突然看到一个叫shiro-spring-boot-starter的玩意儿,当时我还在想:这能好用吗?会不会又是那种“一键安装,十步报错”的坑货?

结果我抱着试试看的心态,在pom.xml里加了这么一段:

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring-boot-web-starter</artifactId>
    <version>1.13.0</version>
</dependency>

…然后我就去泡了杯咖啡,回来一看,项目居然正常启动了!没有报错!没有缺Bean!我当时差点从椅子上跳起来,真的。

当然啦,光加个依赖还不算真正的Shiro一键安装,你至少还得配一个Realm吧?但相比以前那种“从零开始搭积木”的方式,这已经爽太多了,你只需要写一个类继承AuthorizingRealm,然后重写两个方法,剩下的Shiro自动帮你装配好,那种感觉,就像你刚准备去搬砖,结果发现有人已经把砖头码得整整齐齐,还给你递了双手套。

更狠的来了:有人直接做了“一键安装脚本”

如果说Spring Boot Starter是“半自动”,那我在某个技术论坛上看到的Shiro一键安装脚本,简直就是“全自动洗衣机”。

那个老哥写了一个Shell脚本,你只需要在服务器上跑一行命令:

curl -sSL https://example.com/shiro-install.sh | bash

然后脚本会问你几个问题:数据库地址是啥?Redis端口多少?管理员账号密码设成啥?你填完之后,它自动帮你生成application.yml、自动建表、自动初始化权限数据,甚至连Nginx的反向代理配置都给你写好了,最后告诉你:“Shiro一键安装完成,请访问 http://你的IP:8080 登录。”

我当时看到这个,心里就一个想法:这特么才是程序员该干的事啊!把重复劳动交给脚本,把创造力留给自己,你说是不是?

别高兴太早,有些坑你得知道

虽然Shiro一键安装听起来很美好,但我得给你泼盆冷水,不是所有“一键”都靠谱。

我试过某个开源项目的“一键安装包”,结果装完之后发现,它默认把所有权限都放开了,/admin/**居然不需要认证就能访问,我当时就惊了,这哪是一键安装啊,这是一键裸奔吧?

所以我的建议是:无论你用什么方式做Shiro一键安装,装完之后一定要做三件事:

  1. 检查过滤器链:/login、/logout、/static/**这些该放行的放行,其他的一律authc。
  2. 检查Realm的认证逻辑:别特么直接返回true啊,密码要加盐、要哈希,这是底线。
  3. 检查Session配置:如果你是分布式部署,记得把Session放到Redis里,不然用户一会儿掉线一会儿掉线,能把你骂死。

我自己现在怎么玩Shiro?

说实话,我现在已经不怎么折腾Shiro一键安装的脚本了,为啥?因为Spring Boot Starter已经够用了,我一般会自己封装一个shiro-common模块,把常用的Realm、Filter、SessionDAO都写好,新项目直接引入,就是最舒服的“一键安装”。

但如果你是个新手,或者你只是想快速搭个原型验证想法,那我真心建议你去试试那些现成的Shiro一键安装方案,别觉得“用别人的东西显得自己菜”,兄弟,能高效解决问题才是真本事,你花三天配环境,别人花三分钟跑起来,然后拿剩下的时间去写业务逻辑、去优化性能、去陪女朋友——你说谁更赚?

最后说几句掏心窝子的话

技术这东西,更新迭代太快了,以前我们觉得“手动配置才是硬核”,现在大家都追求“开箱即用”。Shiro一键安装不是什么偷懒,而是把精力从重复劳动中解放出来,当然啦,前提是你得懂原理,不然出了问题你连日志都看不懂,那就真成“一键安装,一键跑路”了。

好了,今天就唠到这儿,如果你也在用Shiro,或者你试过什么好用的Shiro一键安装方案,欢迎在评论区跟我分享,咱们互相抄抄作业,少踩点坑,多留点时间打游戏,它不香吗?

记得啊,不管怎么装,安全第一,别为了图快,把门都敞开了,拜拜!

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]