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

shiro认证授权的过程

阅读更多

 

 

shiro认证授权的过程

 

 

 

(一)认证

1,首先走这里从页面获取用户名,密码

 

public abstract class AuthenticatingFilter extends AuthenticationFilter

 

  AuthenticationToken token = this.createToken(request, response);

 

 

 

public class MyAuthenticationFilter extends FormAuthenticationFilter

protected org.apache.shiro.authc.AuthenticationToken createToken(ServletRequest servletRequest, ServletResponse servletResponse) {

String username = getUsername(servletRequest);

String password = getPassword(servletRequest);

String captchaId = getCaptchaId(servletRequest);

String captcha = getCaptcha(servletRequest);

boolean rememberMe = isRememberMe(servletRequest);

String host = getHost(servletRequest);

String validateCode = (String)((HttpServletRequest) servletRequest).getSession().getAttribute("validateCode");;

return new AuthenticationToken( username,  password,

captchaId,  captcha,  validateCode,

rememberMe,  host) ;

}

 

 

2,然后这里进入数据库获取用户信息,两者综合对比认证

 

 

 

public class ShiroDbRealm extends AuthorizingRealm 

 

 

 

 

doGetAuthenticationInfo

 

UsernamePasswordToken token1 = (UsernamePasswordToken) token;

FinancialSalesUser userDetails=null;

                try {

                    userDetails = this.financialSalesUserFacade.selectByUserName(token1.getUsername());

                } catch (Exception notFound) {

 

                    return null;

                }

 

AuthenticationInfo authcInfo = new SimpleAuthenticationInfo(userDetails, userDetails.getPassWord(),getName());

 

 

 

(二)授权:

 

权限控制就是其他的方法

ChainDefinitionSectionMetaSource

所有角色权限信息

 

public class ShiroDbRealm extends AuthorizingRealm

 

 

doGetAuthorizationInfo  本用户权限角色信息

 

 

 

详细参考往期博客jar包

 

  注意

MyAuthenticationFilter中onLoginSuccess中的session.stop();需要注掉,否则用框架的登陆走了onLoginSuccess然后又清了session会报错

 

 

分享到:
评论

相关推荐

    shiro认证及授权demo

    这个"shiro认证及授权demo"应该包含了设置Shiro环境、配置 Realm、创建 SecurityManager、定义用户角色和权限以及处理登录、登出等核心功能的示例代码。 1. **Shiro环境设置**:首先,需要在项目中引入Shiro的依赖...

    shiro认证授权

    Apache Shiro 是一个强大且易用的 Java 安全框架,提供了认证、授权、加密和会话管理功能,可以非常方便地开发出足够安全的应用。本文将深入探讨 Shiro 的核心概念,包括认证和授权,并结合提供的 `shiro-demo` 代码...

    shiro认证授权框架详解

    shiro 认证授权框架详解 Shiro 认证授权框架是 Java 中一种流行的认证授权解决方案,提供了完整的认证和授权机制,能够满足大多数应用程序的安全需求。Shiro 框架的核心思想是将认证和授权分离,认证负责验证用户...

    Shiro认证授权的基本实现

    在这个项目中,我们将探讨如何实现 Shiro 认证授权的基本过程,以及与数据库的交互。 首先,Shiro 的认证过程涉及用户提交身份验证信息(如用户名和密码)到系统。系统随后会通过认证器(Realm)验证这些信息。在本...

    Shiro登录授权认证功能

    在这个项目中,我们主要关注的是“Shiro登录授权认证功能”。 **身份验证(Authentication)** 身份验证是确认用户身份的过程,通常涉及用户名和密码的验证。在Shiro中,可以通过实现自定义的`Realm`类来对接自己的...

    shiro认证和授权案例

    **一、Shiro认证流程** Shiro的认证过程主要涉及以下几个步骤: 1. **凭证匹配器(CredentialsMatcher)**:这是Shiro用来比对用户输入的凭证(如密码)和系统存储的凭证是否一致的组件。在案例中,可能使用了MD5...

    shiro 权限认证以及授权demo

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。在这个"Shiro 权限认证以及授权demo"中,我们将深入理解Shiro的核心概念,并通过实际...

    javaSE环境下Shiro认证过程以及部分API

    JavaSE环境下Apache Shiro是一个强大的安全框架,它提供了一种简单的方式来处理认证、授权、会话管理和加密等安全相关的任务。本篇文章将深入探讨Shiro的认证过程,并介绍一些常用的API,帮助你更好地理解和应用...

    spring boot+shiro 权限认证管理案例

    为了提高性能,Shiro 支持缓存机制,可以在认证和授权过程中减少对数据库的访问。常见的缓存策略有: 1. EhCache:EhCache 是一个广泛使用的 Java 缓存库,可以集成到 Shiro 中,存储用户的认证和授权信息。 2. ...

    shiro认证.pdf

    首先,Shiro认证的过程可以简单概括为以下步骤: 1. 用户向应用程序提供其身份凭证,如用户名和密码。 2. 应用程序将这些凭证传递给Shiro的SecurityManager。 3. SecurityManager调用配置的Realm(数据源,比如...

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

    《Spring3+Shiro 实现认证与授权详解》 在软件开发中,安全问题始终是不可忽视的关键环节。Apache Shiro 是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。...

    shiro权限认证和授权

    ### 一、Shiro认证 **1. 用户身份验证(Authentication)** 用户身份验证是验证用户身份的过程,确保用户是他们声称的那个人。在Shiro中,这个过程通常涉及以下步骤: - **凭证匹配**:用户提供的登录信息(如...

    Springboot shiro认证授权实现原理及实例

    Springboot shiro 认证授权实现原理及实例 作为一款流行的 Java 框架,Spring Boot 提供了许多插件来支持开发过程,而 Shiro 则是一个功能强大的身份验证和授权框架。下面,我们将详细介绍 Spring Boot 中如何使用 ...

    Apache Shiro 身份认证例子-源码

    Apache Shiro 是一个强大且易用的 Java 安全框架,它提供了身份认证、授权、加密和会话管理功能,让开发人员可以轻松地在应用中处理安全性问题。本资源包含了一个 Apache Shiro 的身份认证例子的源码,这对于理解和...

    shiro 不执行授权方法 doGetAuthorizationInfo()

    Apache Shiro 是一个强大且易用的 Java 安全框架,提供身份认证、授权、加密和会话管理功能,可以非常容易地开发出足够安全的应用。在遇到“Shiro 不执行授权方法 `doGetAuthorizationInfo()`”的问题时,通常表明在...

    spring boot shiro认证

    8. **测试与调试**:创建测试用例,确保Shiro认证和授权功能正常工作,同时对可能出现的错误和异常进行处理。 Spring Boot与Shiro的结合使得应用的安全控制变得简单而有效。通过合理的配置和定制,我们可以轻松实现...

    shiro实现授权登陆验证

    - 如果匹配成功,Realm返回一个身份验证信息对象(通常是一个PrincipalCollection),Shiro认为用户已认证。 2. **授权实现**: - 在Shiro中,权限是细粒度的,可以是角色(Role)或者权限(Permission)。 - 当...

    Shiro 身份验证、授权、密码和会话管理

    Shiro 为单元测试和集成测试提供了便捷的 API,可以在测试环境中模拟用户认证和授权,简化测试流程。 总的来说,Apache Shiro 是一个功能丰富的安全框架,它提供了一套完整的工具集,可以帮助开发者快速、有效地...

    shiro授权 shiro和企业项目整合开发

    1. **验证码**:Shiro 并不直接提供验证码功能,但可以通过集成第三方库(如 JCaptcha)并在认证过程中校验验证码。 2. **“记住我”功能**:Shiro 的 `RememberMeManager` 负责“记住我”功能。用户选择“记住我”...

Global site tag (gtag.js) - Google Analytics