【SpringBoot】23、SpringBoot中整合Shiro实现权限管理

之前在 SSM 项目中使用过 shiro,发现 shiro 的权限管理做的真不错,但是在 SSM 项目中的配置太繁杂了,于是这次在 SpringBoot 中使用了 shiro,下面一起看看吧

一、简介

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

三个核心组件:

1、Subject

即“当前操作用户”。但是,在 Shiro 中,Subject 这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前跟软件交互的东西”。Subject 代表了当前用户的安全操作,SecurityManager 则管理所有用户的安全操作。

2、SecurityManager

它是Shiro 框架的核心,典型的 Facade 模式,Shiro 通过 SecurityManager 来管理内部组件实例,并通过它来提供安全管理的各种服务。

3、Realm

Realm 充当了 Shiro 与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro 会从应用配置的 Realm 中查找用户及其权限信息。从这个意义上讲,Realm 实质上是一个安全相关的 DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给 Shiro。当配

  • 152
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 121
    评论
Apache Shiro(发音为“shee-roh”,日语为“castle”)是一种功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理,可用于保护任何应用程序的安全-从命令行应用程序,移动应用程序到最大的Web和企业应用程序。 Shiro提供了应用程序安全性API来执行以下方面(我喜欢将它们称为应用程序安全性的4个基石): 身份验证-证明用户身份,通常称为用户“登录”。 授权-访问控制 密码术-保护或隐藏数据以防窥视 会话管理-每个用户的时间敏感状态 Shiro还支持一些辅助功能,例如Web应用程序安全性,单元测试和多线程支持,但它们的存在是为了加强上述四个主要方面。 Apache Shiro特点: 易于使用 易于使用是该项目的最终目标。应用程序安全性可能非常令人困惑和沮丧,并被视为“必要的邪恶”。如果您使它易于使用,以使新手程序员可以开始使用它,那么就不必再痛苦了。 全面 Apache Shiro声称没有其他具有范围广度的安全框架,因此它可能是满足安全需求的“一站式服务”。 灵活 Apache Shiro可以在任何应用程序环境工作。虽然它可以在Web,EJB和IoC环境运行,但不需要它们。Shiro也不要求任何规范,甚至没有很多依赖性。 具有Web功能 Apache Shiro具有出色的Web应用程序支持,允许您基于应用程序URL和Web协议(例如REST)创建灵活的安全策略,同时还提供一组JSP库来控制页面输出。 可插拔 Shiro干净的API和设计模式使它易于与许多其他框架和应用程序集成。您会看到ShiroSpring,Grails,Wicket,Tapestry,Mule,Apache Camel,Vaadin等框架无缝集成。 受支持 Apache Shiro是Apache Software Foundation(Apache软件基金会)的一部分,事实证明该组织的运作符合其社区的最大利益。项目开发和用户群体友好的公民随时可以提供帮助。如果需要,像Katasoft这样的商业公司也可以提供专业的支持和服务。
Spring Boot是一种快速开发和构建Java应用程序的框架,它提供了许多便捷的功能和开发工具,使得权限用户菜单管理变得更加简单和高效。 在Spring Boot,我们可以利用Spring Security来实现权限管理Spring Security提供了一套完整的安全认证和授权机制,能够轻松地对用户进行身份验证和访问权限控制。 首先,我们需要定义用户、角色和权限的实体类,并将其映射到数据库。可以使用Spring Data JPA来简化数据库操作。用户和角色之间是多对多的关系,可以通过间表来建立关联关系。权限和角色之间是一对多的关系,即一个角色可以有多个权限。 接下来,我们可以创建一个UserService和RoleService来负责用户和角色的管理。UserService可以提供用户的注册、登录和用户信息的查询等功能。RoleService可以提供角色的创建、更新和删除等功能。 在控制器层面,我们可以定义一个UserController和RoleController来处理用户和角色的请求。UserController可以处理用户注册、登录和用户信息查询等请求。RoleController可以处理角色的创建、更新和删除等请求。 此外,我们还可以创建一个MenuService来管理菜单的信息。菜单可以有多级结构,可以通过父菜单和子菜单的关联来实现。MenuService可以提供菜单的查询、创建和更新等功能。 最后,在前端界面上,我们可以通过使用Bootstrap等UI框架来构建用户和菜单的管理界面。可以利用树形结构来展示菜单的层级关系,通过勾选框来控制用户的权限。 总之,利用Spring BootSpring Security,我们可以便捷地实现权限用户菜单管理。通过定义实体类、服务类和控制器类,并结合数据库操作和前端页面开发,可以构建一个功能完善的权限管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 121
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Asurplus

学如逆水行舟,不进则退

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值