`
y806839048
  • 浏览: 1119511 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

shiro理解:

阅读更多
shrio理解:
(1)在web.xml中通过监听的方式集成shrio,代理的过滤器和配置文件
                (2)配置shrio主配置文件中:
     主配置:shrio的过滤工厂类:
         注入安全管理器复写:登陆时调用用户信息的方法
                    登录成功后,查询数据库角色权限,给当前用户授权
    以及一个工具类,在登录验证方法中,返回token后setSession信息(能返回token就是验证成功)
                         (主要负责登录发起验证请求,及成功之后的系列过程中方法)
         注入带有生成token,验证通过,未验证同过方法的滤器,在有用户尝试登陆的时候,会自动拦截生成token对象,验证通过,未通过自动调用的方法
(主要是预前,善后方法)
分别对应登录成功,登录失败,初始访问系统的一些相关属性,类似struts的拦截跳转
(主要对应结果)
        (3)spring的方法反射调用共场(指定权限验证时使用的安全管理器)(xml中指定,之后这里也要指定的安全管理器)



整个过程:
启动服务器,通过web.xml文件,加载shrio,访问是自动拦截跳转到过滤工厂指定的login页面,
发起登录请求(输入用户名,密码等)后拦截调用安全管理器的登录方法,善后过滤器会事先生成一个token信息对象,一旦登录成功,调用角色,权限的赋予方法,然后调用配置的带有善后工作的过滤器
(配置在shrio过滤器工厂类的最后),发出放行指令,结合shrio过滤器工厂类的跳转配置,跳转,否则,善后过滤器调用拒绝登录方法,发出拒绝的跳转指令此时结合配置跳转,类似还有拒绝认证(无权限)
访问单个页面的指令



下面的只要是方法(bean)级别的控制

  <!-- 保证实现了Shiro内部lifecycle函数的bean执行 --> 
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/> 
 
    <!-- 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro注解的类,并在必要时进行安全逻辑验证 --> 
    <!-- 配置以下两个bean即可实现此功能 --> 
    <!-- Enable Shiro Annotations for Spring-configured beans. Only run after the lifecycleBeanProcessor has run --> 
    <!-- 这里未使用Shiro注解,故注释掉这两个bean(个人觉得将权限通过注解的方式硬编码在程序中,查看起来不是很方便,没必要使用) --> 
    <!--  
    <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/> 
    <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"> 
        <property name="securityManager" ref="securityManager"/> 
    </bean> 
     -->
                
分享到:
评论

相关推荐

    shiro入门 : 通过jdbc连接数据库

    Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,使得在Java应用中...记得在实践中不断调试和完善,理解每个组件的作用和交互方式,这样你就能更好地掌握Shiro的安全管理功能。

    Apache Shiro核心jar包:shiro-core-1.3.2

    Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。...使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    shiro jar包及源码下载

    "shiro-core-1.3.2-sources.jar"则是Shiro核心模块的源代码包,开发者可以通过阅读源码来深入理解Shiro的工作原理,这对于进行定制化开发或者排查问题非常有帮助。Shiro的核心组件包括以下几个方面: 1. **认证**:...

    Shiro简易实例:HelloWorld

    首先,我们需要理解Shiro的基本概念: 1. **身份验证(Authentication)**:确认用户身份的过程,即用户登录时输入的用户名和密码被验证是否正确。 2. **授权(Authorization)**:也称为访问控制,是确定用户是否有...

    IDEA+SpringBoot+Mybatis+shiro:整个shiro的实现过程,可应用于线上产品

    在IT行业中,安全框架是构建高安全性Web应用的关键组件之一,Apache Shiro就是这样一个强大的工具。本教程将详细讲解如何在IntelliJ IDEA(IDEA)中使用SpringBoot...希望这个教程能帮助你理解和掌握Shiro的实现过程。

    shirodemo:SpringBoot集成Shiro博客源码-源码客

    【标题】"shirodemo:SpringBoot集成Shiro博客源码-源码客" 提供的是一个基于SpringBoot框架并集成了...通过分析和学习这个源码,开发者可以深入理解SpringBoot与Shiro的集成方式,提高在实际项目中的安全防护能力。

    springboot集成freemarker和shiro框架

    **SpringBoot集成Freemarker与Shiro框架详解** 在现代Web开发中,SpringBoot因其简洁、高效的特性,已经成为很多开发者的选择。...理解并掌握这两者的集成,对于提升Web应用的安全性和用户体验具有重要意义。

    shiro学习心得

    通过本文档,将深入探讨 Shiro 的核心概念,并结合实际应用场景来理解其工作原理。 ##### 1.1 认证(Authentication) 认证是验证用户身份的过程,通常基于用户名和密码。在 Shiro 中,认证可以通过以下步骤完成:...

    shiro所有版本jar

    对于开发者来说,理解Shiro的不同版本和它们的特性至关重要,因为这直接影响到应用的安全性和稳定性。同时,了解如何与CAS这样的单点登录系统集成,可以提升用户管理的便捷性和安全性。通过这个压缩包,开发者可以...

    ShiroDemo:Shiro Springboot Jwt前一级分离权限控制

    **标题解析:** "ShiroDemo: Shiro Springboot Jwt前一级分离权限控制" 这个标题揭示了项目的核心内容,涉及到三个主要技术组件:...在实际开发中,这些知识点需要深入理解和灵活运用,以构建出安全、高效的应用系统。

    Java-Shiro学习思维导图.zip

    理解 Shiro 的核心概念:Subject、SecurityManager、Realm 等。 身份认证: 理解身份认证的概念和流程。 认识 AuthenticationToken 和 AuthenticationInfo。 学习如何自定义 Realm 来实现不同的身份认证方式。 授权...

    springboot 集成shiro代码实例

    分析这些代码可以帮助理解Shiro与SpringBoot的整合过程。 6. **注意事项**: - Shiro的缓存管理:为了提高性能,Shiro可以集成缓存框架如Redis,将用户的登录状态和权限信息存储在缓存中。 - 登录退出处理:正确...

    SpringBoot整合Shiro完整源码(含sql脚本).rar

    《SpringBoot整合Shiro的深度解析与实战指南》 在当今的Web开发领域,Spring Boot以其简洁、...通过理解并实践这个完整源码,开发者可以更好地掌握Spring Boot和Shiro的集成技巧,为实际项目提供安全、稳定的保障。

    Shiro应用实例4

    首先,让我们理解Shiro的基础概念: 1. **身份验证(Authentication)**:验证用户的身份,通常通过用户名和密码进行。 2. **授权(Authorization)**:即访问控制,决定用户是否可以执行某个操作或访问某个资源。 ...

    ShiroSamples:Apache Shiro示例

    Apache Shiro最初的目标是易于使用和理解。安全有时候会很复杂,甚至令人痛苦,但没必要。一个框架应该替换隐藏的性,公开明确直观的API,简化开发者应用安全的方面的工作。可以使用Apache Shiro做的一些事情:验证...

    shiro连接redis集群 根据org.crazycake.shiro包改造源码

    对于Shiro而言,这意味着需要一个能够理解这种分布式架构并能正确处理节点间通信的连接器。 org.crazycake.shiro包是对Apache Shiro的扩展,提供了Redis的集成方案。这个改造后的源码很可能是对org.crazycake.shiro...

    SSM整合shiro的简单框架搭建,JSP项目

    SSM(Spring、SpringMVC、MyBatis)框架...下载"SSM-Shiro"这个项目,你可以看到具体的实现细节,这对于理解SSM与Shiro的整合过程非常有帮助。通过学习和实践,你将能够熟练掌握在SSM框架下如何构建一个安全的Web应用。

    shiro_tool.zip

    总之,"shiro_tool.zip"可能是一个有价值的资源,对于想要深入理解并应用Apache Shiro的开发者来说,它可以提供实践中的参考和帮助。通过研究其中的内容,你不仅可以掌握Shiro的基础知识,还能了解如何在实际项目中...

    shiro-all jar

    Apache Shiro是一个强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密服务。"shiro-all jar"是Shiro...使用Shiro,开发者可以快速地构建出具有安全性的应用程序,而无需深入理解底层的安全机制。

    springmvc+shiro 框架搭建

    这个DEMO应该包含了这些基本步骤的实现,你可以通过阅读代码来理解如何将SpringMVC和Shiro结合在一起。项目中的"project"文件可能包含了一个简单的Web应用程序,其中包含配置文件、Controller、Service、DAO以及...

Global site tag (gtag.js) - Google Analytics