ApacheShiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
创建数据库表
创建用户表,角色表,权限信息表,角色权限关系表,用户角色关系表。如下图sql语句:
初始化数据库数据
SprinBoot集成shiro框架
1、创建SpringBoot项目,我这里使用以前已经创建好的项目,如下图:
2、添加shiro,Thymeleaf相关的依赖,如下图:
3、在application.properties中配置数据库连接,thymeleaf等信息,如下图:
4、创建实体类UserInfo,如下图所示:
相同方法创建PermissionInfo类、RoleInfo类。
5、创建数据访问层UserDao,如下图所示:
6、创建ShiroRealm类实现AuthorizingRealm,如下图所示:
7、创建ShiroConfig类(Shiro配置类),如下图所示:
Shiro的使用
加盐加密
给用户加盐加密,如下图所示:
执行结果如图所示:
登录身份验证
1、创建LoginController类(登录控制器),实现登录、登出方法,如下图所示:
2、创建登录页面login.html,如下图所示:
获取当前登录人信息
Shiro获取当前登录人信息:
//获取当前登录人UsercurrentUser=(User)SecurityUtils.getSubject().getPrincipal();
创建首页控制器,登录成功后,显示首页,如下图所示:
创建首页页面index.html,如下图所示:
Shiro授权
Shiro可以使用
RequiresPermissions或者RequiresRoles注解进行方法或类的授权。1、创建UserController(用户信息控制器),编写控制器方法,测试授权功能。
2、创建user.html页面,当登录用户有权限时,跳转到该页面,并显示当前的操作功能。
3、创建.html页面,当登录用户有没有权限时,跳转到该页面,并提示用户权限不足。
验证
登录验证
用户验证不通过时,页面如下图所示:
(未知账户)
(用户或密码不正确)
用户验证通过,跳转到首页,获取当前登录人的信息,如下图所示:
授权验证
点击“查询用户“,如果有操作权限,如下图所示:
点击“用户统计”,如果没有权限,如下图所示:
由于百家号不太适合粘贴代码,使用截图展示,有的地方图片显示不完整,有兴趣了解的朋友可以私信找我要源码。
单选
听有的人说Shiro过时了,你觉得过时了吗?
过时没有打开百度APP进行投票转载请注明:http://www.0431gb208.com/sjszjzl/3789.html