美文网首页
01-基本概念

01-基本概念

作者: 16325 | 来源:发表于2020-09-04 14:16 被阅读0次

Apache Shiro 的三大核心组件:

  • 1、Subject :当前用户的操作

  • 2、SecurityManager:用于管理所有的Subject

  • 3、Realms:用于进行权限信息的验证

Authentication 和 Authorization

在shiro的用户权限认证过程中其通过两个方法来实现:

1、Authentication:是验证用户身份的过程。说白了就是获取验证用户

2、Authorization:是授权访问控制,用于对用户进行的操作进行认证授权,证明该用户是否允许进行当前操作,如访问某个链接,某个资源文件等。说白了就是用户验证用户权限

其他组件:

除了以上几个组件外,Shiro还有几个其他组件:

  • 1、SessionManager :Shiro为任何应用提供了一个会话编程范式。

  • 2、CacheManager :对Shiro的其他组件提供缓存支持。

image.png

基础例子

  • 编写操作用户业务的Service:
    通过用户名查询用户信息
    通过用户名查询用户权限字符串

  • 编写shiro组件自定义Realm:
    实现获取AuthorizationInfo,权限字符串的方法
    实现获取AuthenticationInfo,认证信息的方法

  • 编写登录功能

SecurityUtils.getSecurityManager().logout(SecurityUtils.getSubject());  
        // 登录后存放进shiro token  
        UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword());  
        Subject subject = SecurityUtils.getSubject();  
        subject.login(token);  
  • 定义shiro的filter
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">  
        <property name="securityManager" ref="securityManager" />  
        <property name="loginUrl" value="/toLogin" />  
        <property name="successUrl" value="/home" />  
        <property name="unauthorizedUrl" value="/403" />  
           
        <property name="filterChainDefinitions">  
            <value>  
                /toLogin = authc <!-- authc 表示需要认证才能访问的页面 -->  
                /home = authc, perms[/home]  <!-- perms 表示需要该权限才能访问的页面 -->  
            </value>  
        </property>  
    </bean> 

相关文章

  • 06-网络(1)

    0712NSURLConnection 基本概念(01-网络的基本概念) Http是网络数据传输格式,TCP(UD...

  • 01-基本概念

    1.进程 进程是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内...

  • 01-基本概念

    定义 数据结构: 数据之前的关系 算法定义: 解决问题的程序 数据结构分类 物理结构: 数据在存储设备上的存储方式...

  • 01-基本概念

    Apache Shiro 的三大核心组件: 1、Subject :当前用户的操作 2、SecurityManage...

  • 01-渗透测试基本概念

    术语词汇介绍 脚本(asp、php、jsp) HTML(css、js、html) HTTP协议 CMS(B/S)网...

  • 第08天C语言(00):笔记总结

    01-二维数组-基本概念 02-二维数组-注意点 03-二维数组和函数 04-字符串-基本概念 05-字符串-常用...

  • java多线程-01-基本概念

    [TOC] 声明 该系列文章只是记录本人回顾java多线程编程时候记录的笔记。文中所用语言并非严谨的专业术语(太严...

  • 接口测试之01-基本概念

    一、什么是接口? 接口分两种: 1、系统对外的接口:为了保护本系统的信息和数据的安全,要对外提供数据时,必须通过接...

  • 数据结构-01- 基本概念

    一,前置关键词 1,集合 2,抽象 二,基本概念 数据 数据元素 数据项 数据对象 三,数据结构: 逻辑结构 ...

  • Linux - 01-网站服务基本概念

    目录 [toc] 1 静态网页和动态网页 1.1 静态网页 概念:纯粹的HTML格式的网页通被称为“静态网页”;静...

网友评论

      本文标题:01-基本概念

      本文链接:https://www.haomeiwen.com/subject/jupzsktx.html