关于shiro介绍以及shiro整合spring,我在另一篇文章中已详细介绍,此处不作说明,请参考spring整合shiro。点我下载源码。
注:数据库三张表和spring整合shiro中的一模一样,在那边已经详细说明,这里直接大家看下三张表的ER图。
图片发自简书App
1、用idea新建Spring Initializr项目,项目结构如下:
图片发自简书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测试
运行结果:
图片发自简书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登录
图片发自简书App
图片发自简书App
tom访问admin
图片发自简书App
tom访问test
图片发自简书App
cat登录
图片发自简书App
cat访问admin
图片发自简书App
cat访问test
图片发自简书App
测试结果与预期相符,测试通过,springboot整合shiro成功!
特别说明:
若不使用MD5加密
1、添加一个类
2、将ShiroConfiguration.java中名为"hashedCredentialsMatcher"的bean替换成:
将名为"authRealm"的bean替换成:
3、AuthRealm.java中的doGetAuthenticationInfo方法里面的内容替换成:
完成以上3步就去掉了MD5加密。
以上内容属于个人学习笔记整理,如有错误,欢迎批评指正!
到此这篇springboot 数据库连接密码加密(springboot对数据库密码加密)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/20675.html