`
ahua186186
  • 浏览: 561167 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

shiro落地的设计复杂度(最后总结)

 
阅读更多
经过1周的源码研究,终于对shiro的原理有了深刻的理解,基于原理我们识别出生产环境落地这个技术的设计复杂度


shiro落地的设计复杂度:
(1)自定义CachingSessionDAO,这是核心,因为它存储了session,Principals,AuthenticationState等所有可以持久化的数据。
(2)sessionid无状态化设计:我们就可以通过继承DefaultWebSessionManager,自定义getSessionId逻辑实现无状态的会话,而不需要依赖cookie来获取session.,此方案登陆成功后必须把sessionID传给客户端。
(3)登陆成功后最好初始化session:
Session session = subject.getSession();//初始化会话
//下一步最好按照一定的规则存用户的session和相关数据到数据仓库中(比如redis),以备以后使用
(4)其他:shiro扩展:自定义AuthorizingRealm,SessionFactory,SimpleSession,过滤器,SessionListenerAdapter等等,这些都是基本操作,不重要,初级水平的开发都能理解。
(5)典型应用:单点登陆(登陆认证、登出,验证token)--特殊的认证,
     单点登陆增加的设计复杂度:
       -->增加登陆界面
       -->登陆成功,跨域重定向(cors方案即可)

(6)备选方案1:spring security

(7)备选方案2:自己实现3类接口即可,不需要什么鬼框架,增加学习成本。。
-->用户登陆认证接口 
-->用户权限查询和校验接口 (结合自定义注解+自定义过滤器实现权限过滤)
-->session的保存,更新,删除接口
分享到:
评论

相关推荐

    shiro数据库设计 五张表

    shiro权限框架数据库设计,附少量数据,仅供测试,非实际项目

    shiro授权设计的两种思路

    Apache Shiro是一个强大的Java安全...总之,Apache Shiro的授权设计提供了灵活多样的方案,无论是基于角色还是基于权限,都能满足不同规模和复杂度的项目需求。理解并熟练运用这两种思路,有助于构建安全可靠的系统。

    shiro教程设计

    Apache Shiro 是一个全面的Java安全框架,它能够提供认证、授权、加密、会话管理以及与Web应用集成等功能,而且它被设计成易于使用和理解。Shiro 框架能够运行在Java SE和Java EE环境,无论是在简单的命令行应用程序...

    Shiro 权限框架使用总结

    Shiro 权限框架使用总结 Shiro 是一个强大而灵活的开源安全框架,能够非常清晰的处理认证、授权、管理会话以及密码加密。Shiro 的主要特点包括易于理解的 Java Security API、简单的身份认证、对角色的简单的签权、...

    基于Java的OAuth2和Shiro整合设计源码

    本OAuth2和Shiro整合项目基于Java开发,包含191个文件,其中包括137个Java源文件...系统致力于实现OAuth2(oltu)和Shiro的整合,提供了一个稳定、安全的认证和授权解决方案,适用于需要进行身份验证和授权的Web应用。

    基于Spring4和Struts2的简单Shiro项目设计源码

    本资源提供了一套基于Spring4和Struts2的简单Shiro项目设计源码。该项目包含了11个XML配置文件、9个Java源文件、4个JSP文件、1个LICENSE文件、1个Markdown文件、1个META-INF文件、1个SQL文件、1个XSD文件,共29个...

    shiro权限案例demo

    总结起来,这个"shiro权限案例demo"是一个全面展示如何使用Apache Shiro实现在Java应用程序中进行用户权限管理的实例。它涵盖了认证、授权、会话管理和过滤器的使用,对于理解和应用Shiro的安全机制非常有帮助。通过...

    权限管理shiro学习总结

    【权限管理框架Shiro学习总结】 在IT领域,权限管理是一个关键的安全机制,它确保了只有合法的用户才能访问特定的资源。Apache Shiro是一个强大且易用的Java安全框架,提供认证、授权、会话管理和加密等功能。下面...

    shiro1.7.1.zip

    2. **shiro-web-1.7.1.jar**:这个模块是针对Web环境设计的,提供了Web相关的安全控制,如Filter配置、HTTP请求的拦截处理等,方便在Web应用中集成Shiro。 3. **shiro-lang-1.7.1.jar**:Shiro的语言支持模块,可能...

    Apache_Shiro_使用手册(一)Shiro架构介绍

    相较于其他安全框架,Shiro 在设计上更为简洁明了,便于开发者的理解和使用。 - **认证**:这是指用户的身份验证过程,通常被称为“登录”。Shiro 能够处理用户提供的凭据(如用户名和密码),并与已知的用户记录...

    springMVC整合shiro框架

    - 代码简洁:Shiro 的 API 简单易用,与 SpringMVC 结合后,可以在 Spring 容器中管理 Shiro 组件,降低复杂度。 - 灵活性高:Shiro 支持多种认证和授权策略,可以根据项目需求进行定制。 - 低侵入性:Shiro 不...

    shiro_tool.zip

    1. **简单易用**:Shiro API设计直观,易于理解和集成到现有应用中。 2. **不侵入性**:Shiro 不是Spring那样的全容器解决方案,它可以在任何环境中运行,不需要EJB、Servlet容器等环境支持。 3. **可扩展性**:...

    shiro(shiro1.3.2)

    Apache Shiro是一个强大且易用的Java安全框架,主要用于处理认证、授权、加密以及会话管理等核心安全性问题。在给定的压缩包"shiro1.3.2"中,包含了Shiro的一个核心组件库"shiro-all-1.3.2.jar"以及两个日志管理库...

    shiro所有版本jar

    Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以非常方便地用于构建和强化应用程序的安全性。Shiro的核心目标是为开发者提供一个简单易用的安全API,使得开发者能够快速...

    shiro jar包及源码下载

    7. **API设计**:Shiro的API设计简洁,易于理解和使用,让开发者能够快速上手。 8. **可扩展性**:Shiro的架构设计允许开发者通过插件和自定义实现来扩展其功能,以适应各种复杂的业务场景。 在学习和使用Shiro时...

    spring boot shiro demo项目

    在Spring Boot项目中集成Shiro,可以简化权限控制的复杂度,使得开发者能够更加专注于业务逻辑的实现。 1. **Shiro的基本概念** - **认证**:验证用户身份的过程,即验证用户名、密码等信息是否正确。 - **授权**...

    shiro-redisson基于Redis的ShiroCache和Session实现

    `shiro-redisson` 的设计应该易于与其他组件集成,如 Spring Boot 或者其他微服务架构,这样可以更好地适应不断发展的企业级应用需求。 总之,`shiro-redisson` 为 Shiro 带来了分布式环境下的高效缓存和会话管理...

    shiro源码(shiro-root-1.8.0-source-release.zip)

    Shiro的模块化设计允许开发者通过插件扩展其功能,如自定义认证策略、加密算法等。 10. **事件监听**: Shiro提供了事件监听机制,开发者可以通过实现Listener接口,对认证、授权等事件进行监听和处理。 11. **...

    shiro教程 跟我学Shiro教程

    最后,"跟我学Shiro教程.zip"可能是整个教程的综合资源包,包含更多补充材料、练习题或者项目案例,旨在帮助学习者巩固理论知识,并提升实际操作技能。 在学习Shiro时,你需要理解以下关键知识点: 1. **身份验证...

Global site tag (gtag.js) - Google Analytics