Springboot整合Shiro(springboot如何整合ssm)
Springboot整合Shiro
1、添加依赖
主要是这个依赖,其他依赖相关的依赖省略了。
2、修改配置文件
修改application.yml文件的内容
3、创建数据库
通过navicat新建数据库shiro
4、执行sql脚本
在数据库shiro下执行以下SQL脚本
5、创建公共类
创建ResponseCode.java
创建JsonResult.java
创建GlobalException.java
创建GlobalExceptionHandler.java
6、创建user表相关的类
创建User.java
创建UserMapper.java
创建UserService.java
创建UserServiceImpl.java
创建UserController.java
创建MybatisConfig类
配置mapper包扫描路径
7、创建UsernameRealm
8、创建Shiro配置类
9、实现登录认证功能(重点)
创建UserLoginDTO.java
创建一个DTO类来接收用户提交的用户名和密码。
完善UserMapper.java类中的代码
完善UserService.java类中的代码
完善UserServiceImpl.java类中的代码
完善UserController.java类中的代码
完善UsernameRealm.java类中的代码
完善ShiroConfig.java类中的代码
10、创建相关的页面
创建login.html页面
在resources目录下创建static目录,在static目录下创建一个页面文件login.html
创建index.html
在static目录下创建一个页面文件index.html,表示系统首页
创建login.js文件
在static目录下创建一个js目录,然后在js目录下创建login.js
把jquery.min.js复制到js目录下
最后启动项目,在浏览器地址栏输入以下任意一个网址,访问项目的首页index.html
http://localhost:8080
http://localhost:8080/index.html
如果跳转到登录页面,则说明配置的过滤器生效了
输入用户名、密码,点击登录按钮,如果成功跳转到系统首页,测试就完成了~
11、实现授权功能
完善UsernameRealm.java类代码
完成doGetAuthorizationInfo()方法的具体实现
完善UserController.java类中的代码
在UserController中添加两个接口/user/delete和/user/update
完善ShiroConfig.java类代码
指定两个接口需要指定的权限才能访问。
完善index.html页面
引入jquery,新增两个按钮,绑定点击事件,直接给对应的接口发送Ajax post请求。
12、测试授权功能
1、正常访问
启动/重启项目,登录之后点击两个按钮,因为在UsernameRealm中分配了对应的权限,所以能够访问成功,并且得到了接口返回的提示信息。
2、访问失败
注释掉修改接口的权限,然后重启项目
登录之后点击修改按钮,没有任何反应,打开浏览器控制台,发现接口报错了。
至此,授权功能的测试也完成了。