shiro不执行授权_尚学堂061——Shiro

  1. Shiro-简介及架构图介绍(对应01-02视频)
    1. Shiro是什么,它的作用是什么?

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。

  1. 从外部看Shiro,大体上分为哪几部分,每部分的作用是什么?

Subject:即“当前操作用户”。

SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。

Realm: Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。

  1. Shiro-03-常见英文名词汇总解释(视频名称)
    1. Shiro中常见的英文词汇有哪些,分别是什么意思?

Subject 主体

Secuity 安全

Realm 领域范围

Authenticator 认证器

Authentication 认证

Authorizer 授权器

Authorization 授权

Cryptography 密码、加密

Credential 证书 凭证

Matcher 匹配器

Principal 身份

  1. Shiro-04-ini配置文件详解(视频名称)
    1. shiro.ini一般放到哪个路径下,该文件中的数据格式是什么样的?

项目 src目录下 数据格式为键值对形式

  1. shiro.ini文件的应用场景是怎样的?

适用于用户少且不需要在运行时动态常见的情景下使用

  1. Shiro-05-环境搭建实现简单认证(视频名称)
    1. 如何理解身份和凭证?

身份用于区别不同的用户,例如username

凭证是每个用户的唯一识别码,例如password

  1. 使用Shiro实现简单认证需要哪些步骤?

配置shiro.ini

构建SecurityManager工厂

通过SecurityManager工厂获取SecurityManager实例

将securityManager设置到运行环境当中

获取subject实例

创建用户名密码验证令牌Token

进行身份验证

判断验证是否通过

  1. Shiro-06-Shiro内置的JDBCRealm讲解(视频名称)
    1. 什么是Realm?

Realm:域,Realm 充当了 Shiro 与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro 会从应用配置的 Realm 中查找用户及其权限信息。从这个意义上讲,Realm 实质上是一个安全相关的 DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给 Shiro 。当配置 Shiro时,你必须至少指定一个 Realm ,用于认证和(或)授权。配置多个 Realm 是可以的,但是至少需要一个。

Shiro 内置了可以连接大量安全数据源(又名目录)的 Realm,如 LDAP、关系数据库(JDBC)、类似 INI 的文本配置资源以及属性文件等。如果缺省的 Realm 不能满足需求,还可以插入代表自定义数据源的自己的 Realm 实现。

  1. 使用JDBCRealm数据库表需要注意什么问题?

Shiro默认使用自带的IniRealm,IniRealm从ini配置文件中读取用户信息,大部分情况下需要从数据库中读取用户信息,这时候需要使用jdbcRealm或自定义Realm,使用jdbcRealm时,需要在shiro.ini文件中配置数据源。

  1. Shiro-07-如何自定义Realm提供数据源(视频名称)
    1. 本节课自定义的Realm继承了哪个类?

AuthenticatingRealm

  1. SimpleAuthenticationInfo构造器中的三个参数分别是什么意思?

Principal 身份

Credentials 凭证

realmName 域的名称

  1. Shiro-08-几种加密类型对比(视频名称)
    1. 常见的加密算法分为哪几类?

对称加密算法和非对称加密算法以及hash算法

  1. 如何理解对称加密和非对称加密?

对称加密过程和解密过程使用的同一个密钥

非对称加密采用了两个密钥,一般使用公钥进行加密,使用私钥进行解密。

  1. Shiro-09-MD5加密、加盐以及迭代(视频名称)
    1. 什么是加盐?

加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联。无论何时只要口令改变,随机数就改变。随机数以未加密的方式存放在口令文件中,这样每个人都可以读。不再只保存加密过的口令,而是先将口令和随机数连接起来然后一同加密,加密后的结果放在口令文件中。

  1. 什么是迭代?

迭代是重复反馈过程的活动,迭代加密即使用上一次加密的结果作为下一次加密的初始值。

  1. Shiro-10-凭证匹配器(视频名称)
    1. 什么是凭证匹配器?

AuthenticatingRealm类中的credentialsMatcher。

用以设置加密算法和迭代次数

  1. 凭证匹配器是哪个对象中属性?

AuthenticatingRealm

  1. Shiro-11-实现授权(视频名称)
    1. 什么是授权?

授权是对通过token认证的用户授予资源访问权限的过程

  1. Shiro中常见的授权有哪些方式?

基于角色授权和基于权限授权

  1. Shiro-与Spring整合实现登录认证之配置文件编写(对应12-13视频)
    1. Shiro-与Spring整合实现登录认证有哪些操作步骤?

导入rbac项目

导入shiro相关jar包(shiro-all 以及shiro-spring)

在web.xml中添加DelegatingFilterProxy配置

编写spring-shiro.xml

编写mapper接口及mapper.xml

编写service接口及实现类

编写controller

编写Realm

  1. DelegatingFilterProxy的作用是什么?

DelegatingFilterProxy类存在与spring-web包中,其作用就是一个filter的代理,用这个类的好处是可以通过spring容器来管理filter的生命周期,还有就是,可以通过spring注入的形式,来代理一个filter执行。

  1. 需要将Shiro中的哪些对象交给spring容器管理?

凭证匹配器 HashedCredentialsMatcher

自定义realm

安全管理器 DefaultWebSecurityManager

ShiroFilterFactoryBean对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值