springboot 数据库连接密码加密(springboot对数据库密码加密)

springboot 数据库连接密码加密(springboot对数据库密码加密)关于 shiro 介绍以及 shiro 整合 spring 我在另一篇文章中已详细介绍 此处不作说明 请参考 spring 整合 shiro 点 我下载源码 1 mysql 5 7 21 2 navicat mysql 客户端管理工具 3 idea 2017 4 jdk9 5 tomcat 8 5 6 springboot 7 mybatis 3 8 shiro 9 maven 注

大家好,我是讯享网,很高兴认识大家。



关于shiro介绍以及shiro整合spring,我在另一篇文章中已详细介绍,此处不作说明,请参考spring整合shiro。下载源码。

注:数据库三张表和spring整合shiro中的一模一样,在那边已经详细说明,这里直接大家看下三张表的ER图。

springboot 增加本地锁_springboot 增加本地锁
讯享网

 图片发自简书App 

讯享网

1、用idea新建Spring Initializr项目,项目结构如下:

springboot 增加本地锁_javascript_02

讯享网 图片发自简书App 

2、添加依赖:

3、application.properties

注:spring整合shiro中是只有User实体类,在UserDao中定义了三个方法,通过表的关键关系查询Role和Permission;这里将采用另一种方式,三个实体类,设置实体类的关联关系。
1、entity层
User.java




Role.java

Permission.java

2、dao层
UserDao.java

UserDao.xml

3、service层

4、junit测试

运行结果:

springboot 增加本地锁_springboot 增加本地锁_03

 图片发自简书App 

5、controller层
TestController.java

说明:这里用户登录方法用到了shiro,但是这里还没配置shiro,所以暂时不能使用,先搭起整个骨架,然后再加入shiro。

6、jsp页面
login.jsp
(登录页面)




现在说一下要求:
admin路由要求只有具有admin角色的用户才能访问,edit路由需要有delete权限的用户才能访问,test路由要guest角色才能访问,login、loginUser都不做拦截,本文讲解两种拦截方式,对test的拦截是在controller对应的方法上加注解,其他是拦截是写在shiro的配置类中。
预期分析:
tom是有admin角色和所有权限,所以用tom登录后,可以访问edit和admin,但是不能访问guest;而cat是guest角色,只有create和query权限,所以不能访问admin和edit,但是可以访问guest。







由于springboot还没有集成shiro,所以不能直接在application.properties中配置,需要通过类的方式配置。

核心配置类:

ShiroConfiguration.java

注:这个类每个bean的作用都已在代码中注释说明,这个类就相当于spring整合shiro的spring-shiro.xml中对shiro的配置。

自定义realm:

AutuRealm.java

注:这个类也有详细的注释说明。
这样就完成了springboot对shiro的整合,接下来就可以进行测试了!

tom登录

springboot 增加本地锁_前端_04

讯享网 图片发自简书App 

springboot 增加本地锁_前端_05

 图片发自简书App 

tom访问admin

springboot 增加本地锁_ViewUI_06

讯享网 图片发自简书App 

tom访问test

springboot 增加本地锁_springboot 增加本地锁_07

 图片发自简书App 

cat登录

springboot 增加本地锁_ViewUI_08

讯享网 图片发自简书App 

cat访问admin

springboot 增加本地锁_springboot 增加本地锁_09

 图片发自简书App 

cat访问test

springboot 增加本地锁_springboot 增加本地锁_10

讯享网 图片发自简书App 

测试结果与预期相符,测试通过,springboot整合shiro成功!

特别说明:

若不使用MD5加密

1、添加一个类

2、将ShiroConfiguration.java中名为”hashedCredentialsMatcher”的bean替换成:

将名为”authRealm”的bean替换成:

3、AuthRealm.java中的doGetAuthenticationInfo方法里面的内容替换成:

完成以上3步就去掉了MD5加密。

以上内容属于个人学习笔记整理,如有错误,欢迎批评指正!


小讯
上一篇 2025-05-13 14:28
下一篇 2025-04-29 10:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199748.html