浅析Shiro和Security的核心模块以及两者的区别

本文主要介绍了Shiro和Spring Security的核心模块,包括Shiro的UsernamePasswordToken、Subject、SecurityManager、Realm等,以及Spring Security的SecurityContextHolder、SecurityContext、AuthenticationManager等,并探讨了两者之间的主要区别。Shiro作为轻量级安全框架,配置简单,适用于独立运行的场景,而Spring Security功能更丰富,与Spring生态紧密集成,适合大型项目。
摘要由CSDN通过智能技术生成

Shiro介绍

Shiro的主要两个功能。Authentication(认证)和Authorization(授权)

Shrio的核心模块

1、UsernamePasswordToken(用户登录信息令牌)

用户登录信息令牌,这个对象中封装了用户的登录信息,主要包括用户名和密码,在登录的时候会创建这个令牌。

2、Subject(主体)

主体,这个对象是 Shiro 中最核心的对象,它是主体的抽象,代表了用户,包括用户的身份信息和一些行为(认证、注销、授权校验、获取 Session 等),认证其实就是登录的意思。

3、SecurityManager

安全管理器,我们代码通过Subject来进行认证和授权,而Subject又会委托SecurityManager来处理请求

4、Realm(过滤器)

Shiro 过滤器,这个对象中包含了两个重要的功能(认证和授权),但它是一个空的对象,需要我们自己根据项目的需求,在这个过滤器中编写认证和授权的逻辑代码。

5、DefaultWebSecurityManager(默认 Web 安全管理器)

 默认 Web 安全管理器,它是 SecurityManager(安全管理器) 的实现,同样负责管理 Web 方面的安全认证和授权,我们写好

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring SecurityShiro和Sa-Token都是用于身份验证和访问控制的安全框架,但它们有不同的特点和核心架构。 1. Spring Security: - 核心架构:Spring Security是基于过滤器链(Filter Chain)的安全框架,通过一系列的过滤器来对请求进行安全验证和访问控制。 - 特点:Spring Security提供了全面的安全解决方案,包括身份验证、授权、记住我等功能。它与Spring框架无缝集成,并且具有灵活性和可扩展性。 - 使用示例:在Spring Boot项目中,您可以通过添加Spring Security的依赖并配置相关的安全规则来实现身份验证和授权功能。 2. Shiro: - 核心架构:Shiro是一个轻量级的Java安全框架,使用一组过滤器和拦截器来处理身份验证和授权。 - 特点:Shiro提供了简单易用的API,可以轻松地实现身份验证、授权、加密等功能。它具有灵活性和可扩展性,并且可以与任何Java应用程序集成。 - 使用示例:在Java应用程序中,您可以使用Shiro的API来实现身份验证和授权。配置Shiro的INI文件或编程方式来定义安全规则。 3. Sa-Token: - 核心架构:Sa-Token是一个基于Token的轻量级Java安全框架,使用Token进行身份验证和授权。 - 特点:Sa-Token具有简单易用、高性能和低侵入性的特点。它使用Token来管理用户身份,支持多种Token生成和存储方式,并提供了丰富的权限控制功能。 - 使用示例:在Java应用程序中,您可以使用Sa-Token的API来生成和验证Token,并通过注解或编程方式定义访问控制规则。 总结来说,Spring Security是一个全面的安全框架Shiro是一个灵活易用的安全框架,而Sa-Token是一个基于Token的轻量级安全框架。您可以根据项目需求和个人偏好选择适合的框架进行使用。具体的使用方法和示例可以参考它们的官方文档或相关教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值