毕业论文
您现在的位置: 框架 >> 框架优势 >> 正文 >> 正文

SpringBoot实现身份验证授权

来源:框架 时间:2023/3/7

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

  • 上一篇文章:
  • 下一篇文章: