SpringBoot+Shiro整合进行登录验证与权限控制

前言

最近在新写项目的时候,有需要用到大量的权限控制的地方,如果自己手动写太耗时了,所以就采用了Shiro进行权限控制与登录验证,下面我们来看看如何整合他们。
SpringBoot+Shiro整合进行登录验证与权限控制

正文

添加依赖

首先,我们先将maven依赖添加到项目的pom.xml中:

添加配置文件

然后添加Shiro配置,在Springboot中都是采用注解方式进行注册:

身份效验

接着在Shiro配置下新建一个MyRealm.java,继承AuthorizingRealm

接着,我们还要添加一个密码校验器

我这里密码是采用用户名+密码进行MD5加密进行处理的,你可以根据自己的密码加密方式进行更改;到这一步,Shiro配置基本上都已经完成了。
下面附上我的用户实体和权限、角色的实体以对应上方的身份验证。
PS:在上述实体类代码中采用了lombok进行getter/setter方法的映射,所以如果要使用以上的实体类请添加lombok的依赖到项目中或者自己添加getter/setter方法 :smile:
    A+
所属分类:Java

发表评论

请在下方填写评论信息

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

表情 粗体 斜体 图片 引用 链接 删除线 下划线 插代码 签到

目前评论:20   其中:访客  10   博主  10

  1. avatar Treasure 2  来自天朝的朋友 谷歌浏览器 Windows 10 北京市 电信

    在身份校验的时候,有这么一行代码:
    User user = userService.getByEmail(token.getUsername(),true);
    token.getUsername()拿到的类型不匹配,怎么办?不能强转

  2. avatar Treasure 2  来自天朝的朋友 谷歌浏览器 Windows 10 北京市 电信

    您的mapper和Dao,service以及controller可以给我看一下么?我纯粹的新手小白,还希望能多看一点萌发一下

  3. avatar Treasure 2  来自天朝的朋友 谷歌浏览器 Windows 10 北京市 电信

    刚刚回复为什么没有了,没别的,顶楼主,爱楼主,大爱楼主。通俗易懂,关键字都解释的特别到位,非常适合我这种启蒙小白,希望楼主多多写出这样的代码,给力!赞楼主!

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

      @Treasure 你刚才回复的实际上已经提交到后台了,但是因为页面是缓存了的,所以你刷新之后不会看你的评论,只有在审核通过之后才会自动刷新缓存,这个时候你才可以看见你的评论。

      • avatar Treasure 2  来自天朝的朋友 谷歌浏览器 Windows 10 北京市 电信

        @憧憬Licoy 楼主,你的这个写法,对Token运用的不是很多,而且没有验证码校验,你的实际项目能分享一下么?我看到的每一个shiro文章都是不同的实现写法,对于初学shiro的我,晕晕乎乎的

        • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

          @Treasure 没有使用到token的方式,都是使用的cookie

  4. avatar Treasure 2  来自天朝的朋友 谷歌浏览器 Windows 10 北京市 电信

    大爱楼主,这种每一行代码都有注释的文章,实在是我这shiro入门小白的爱,通俗易懂,好入门,关键字也解释到位!谢谢楼主分享,支持你的更多作品!

  5. avatar Amanda 0  来自天朝的朋友 谷歌浏览器 Windows 8.1 河南省郑州市 电信

    博主,你是做什么技术的呀 ? 是做什么语言开发的呀

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市 电信

      @Amanda 使用的wordpress,自然而然也就是使用的php

      • avatar vlor 0  来自天朝的朋友 谷歌浏览器 Windows 10 湖南省株洲市 联通

        @憧憬Licoy 不是java吗?

        • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

          @vlor 是Java

  6. avatar 快乐网讯 1  来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 电信

    文章不错非常喜欢

  7. avatar 最好的代写essay服务 2  Ukraine 谷歌浏览器 Windows 10 乌克兰

    看起来还是比较简单

  8. avatar 夏日博客 1  来自天朝的朋友 谷歌浏览器 Windows 7 北京市崇文区 联通

    好复杂的权限控制。