`

shiro总结1

 
阅读更多

1:通过ini配置文件创建securitymannager;

2:调用subject.login方法主体提交认证,提交的token

3:securitymannager进行认证,securitymannager最终由modularrealmauthenticator进行认证;

4:modularrealmauthenticator调用inirealm(给realm传入tolen)去ini配置文件中查询用户信息

5:inirealm根据输入的token(usernamepasswordtoken)从shiro-first.ini查询用户信息,根据账号查询用户信息(账号,密码)

如果查询到用户信息,就给modularrealmauthenticator返回用户信息(账号,密码)

如果查询不到,就给modularrealmauthenticator返回null

6:modularrealmauthenticator接收inirealm返回authentication认证信息

返回的认证信息时null,modularrealmauthenticator抛出异常unknownaccountexception

 

如果返回认证信息不是null(说明inireal找到了用户),对inirealm返回用户密码(在ini文件中存在)

 

shiro认证流程:(掌握)
           1subject(主体)请求认证,调用subject.login(token)
           2SecurityManager(安全管理器)执行认证
           3SecurityManager通过ModularRealmAuthenticator进行认证。
           4ModularRealmAuthenticatortoken传给realmrealm根据token中用户信息从数据库查询用户信息(包括身份和凭证)
    5realm如果查询不到用户给ModularRealmAuthenticator返回nullModularRealmAuthenticator抛出异常(用户不存在)
           6realm如果查询到用户给ModularRealmAuthenticator返回AuthenticationInfo(认证信息)
           7ModularRealmAuthenticator拿着AuthenticationInfo(认证信息)去进行凭证(密码 )比对。如果一致则认证通过,如果不致抛出异常(凭证错误)。


 

subject:主体
分享到:
评论

相关推荐

    权限管理shiro学习总结

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

    shiro框架总结1

    1. **身份验证**:验证用户身份,确保只有合法用户能够访问系统。Shiro 提供了一个认证器(Authenticator),用于处理用户的登录请求,验证用户凭证的有效性。 2. **授权**:控制用户对资源和操作的访问权限。Shiro...

    shiro学习心得

    ### Shiro 学习心得与应用实践 #### 一、Shiro 认证与权限管理基础 Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了认证(Authentication)、授权(Authorization)、加密(Cryptography)以及会话管理...

    Shiro 权限框架使用总结

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

    shiro个人总结ppt

    shiro个人总结ppt

    shiro 个人总结

    .shiro 个人总结 Shiro 是一个功能强大且灵活的 Java 安全框架,提供了身份验证、授权、加密和会话管理等功能。本总结将从 Shiro 的基本概念、验证和授权过程、加密方式和 JSP 标签等方面进行总结。 一、基本概念 ...

    shiro权限案例demo

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

    吴天雄--shiro个人总结笔记.doc

    Apache Shiro 是一款Java安全框架,它提供了身份认证、授权、加密和会话管理功能,适用于Java SE和Java EE环境,甚至能在分布式集群环境中运行。Shiro因其简单易用而受到青睐,相比于依赖Spring的Spring Security,...

    shiro权限(1)

    1. **配置Shiro**:在项目中配置Shiro,包括定义Realms、过滤器等。 2. **整合Spring**:如果项目使用Spring框架,则需要配置Spring Security与Shiro的整合。 3. **编写Realm**:自定义Realm来加载用户数据和权限...

    shiro

    总结来说,Apache Shiro 是一个全面的 Java 安全框架,提供了丰富的安全特性,便于开发者构建安全的应用程序。通过对 Shiro 源码的学习和实践,我们可以更好地理解和利用其功能,提升项目的安全性和可维护性。

    struts2和shiro完美整合解决方案

    1. **引入依赖**:在项目中添加Struts2和Shiro的依赖库,通常通过Maven或Gradle来管理。 2. **配置Shiro**:创建shiro.ini或通过Java代码配置SecurityManager,设置Realm以连接到用户数据源,定义用户的认证和授权...

    shiro_attack_2.2.zip

    **总结** 了解Apache Shiro的基本原理和安全风险是确保应用安全的重要步骤。开发者应该熟悉Shiro提供的安全机制,正确配置和使用,同时结合最佳实践,如输入验证、加密策略和定期安全审计,以增强应用的安全性。...

    Shiro-pdf教程

    总结来说,Apache Shiro 是一个全面的安全框架,能够满足各种类型应用程序的安全需求,提供简洁的API来处理复杂的安全问题。无论是小型桌面应用还是大型分布式系统,Shiro 都能轻松集成并确保其安全。

    shirodemo(spring3+shiro)(认证授权)

    总结,"shirodemo"项目展示了Spring3与Shiro 结合进行用户认证与授权的实例,涵盖了Shiro的核心功能和实际应用场景。通过学习和实践,开发者可以快速掌握如何在自己的项目中运用Shiro来构建安全体系。

    spring_boot_shiro

    总结,Spring Boot与Shiro的整合为Web应用提供了强大的安全支撑。通过合理的配置和定制,可以实现灵活、高效的权限管理。在实际项目中,结合Spring Boot的自动配置和Shiro的安全特性,可以极大地简化安全相关的开发...

    springboot+shiro入门案例

    1. **添加依赖**:在SpringBoot项目中,我们需要在`pom.xml`文件中添加Shiro的依赖。例如: ```xml <groupId>org.apache.shiro <artifactId>shiro-spring-boot-web-starter <version>1.7.2 ``` 2. **配置...

    shiro基础框架搭建

    总结,通过SpringBoot、Shiro、Redis和MyBatis的整合,我们可以构建一个基础且全面的权限管理框架。Shiro提供了一套完善的权限控制逻辑,SpringBoot简化了项目的初始化和配置,Redis增强了系统的缓存性能,而MyBatis...

    Shiro_学习总结.zip

    这个“Shiro_学习总结.zip”文件包含了一个 PDF 文档,很可能是对 Shiro 框架核心概念、功能以及使用方法的详尽总结。 在 Shiro 中,主要涉及以下几个核心组件: 1. **认证(Authentication)**:这是验证用户身份...

    ssm+shiro权限框架

    总结来说,SSM+Shiro权限框架提供了一套完整的解决方案,用于构建安全的Java Web应用程序。通过整合Spring、Spring MVC、MyBatis和Shiro,开发者可以高效地实现用户认证、授权、会话管理和日志等功能,大大提高了...

    shiro + SSM 框架

    总结来说,"shiro-rbac-demo-master"项目展示了如何在SSM框架基础上,利用Apache Shiro实现RBAC权限控制,为Java Web应用提供了安全基础。这个项目可以帮助开发者快速理解SSM和Shiro的整合,为进一步的项目开发提供...

Global site tag (gtag.js) - Google Analytics