shiro篇】 一. shiro简介及入门案例(idea+java项目)

shiro简介及入门案例

Apache Shiro 是 Java 的一个安全(权限)框架。 Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。使用Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。
Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存 等。

shiro能解决什么问题?

  1. 认证:验证用户的身份
  2. 授权:对用户执行访问控制:判断用户是否被允许做某事
  3. 会话管理:在任何环境下使用 Session API,即使没有 Web 或EJB 容器。
  4. 加密:以更简洁易用的方式使用加密功能,保护或隐藏数据防止被偷窥
  5. Realms:聚集一个或多个用户安全数据的数据源

Shiro 的四大核心部分

  1. Authentication(身份验证):简称为“登录”,即证明用户是谁。
  2. Authorization(授权):访问控制的过程,即决定是否有权限去访问受保护的资源。
  3. Session Management(会话管理):管理用户特定的会话,即使在非 Web 或 EJB 应用程序。
  4. Cryptography(加密):通过使用加密算法保持数据安全

shiro的三个核心组件:

  1. Subject :正与系统进行交互的人,或某一个第三方服务。所有 Subject 实例都被绑定到(且这是必须的)一个SecurityManager 上。
  2. SecurityManager:Shiro 架构的心脏,用来协调内部各安全组件,管理内部组件实例,并通过它来提供安全管理的各种服务。当 Shiro 与一个 Subject 进行交互时,实质上是幕后的 SecurityManager 处理所有繁重的 Subject 安全操作。
  3. Realms :本质上是一个特定安全的 DAO。当配置 Shiro 时,必须指定至少一个 Realm 用来进行身份验证和/或授权。Shiro 提供了多种可用的 Realms 来获取安全相关的数据。如关系数据库(JDBC),INI 及属性文件等。可以定义自己 Realm 实现来代表自定义的数据源
    在这里插入图片描述

案例

项目准备
  1. 使用idea创建一个Java项目 day64-shiro-01-hello

  2. 创建lib目录加入jar包 jar包下载地址
    在这里插入图片描述

  3. 将jar导入项目中
    在这里插入图片描述

  4. 添加快速开发的类和配置文件 源码 shiro-root-1.3.2-source-release.zip
    在这里插入图片描述
    在这里插入图片描述

  5. 环境准备完成。。。。。

测试

1 修改配置文件(全部清空换这个也行)
# 用户
[users]
# 用户名 = 密码,角色1,角色2
admin = 123456, admin

# 角色
[roles]
# 角色名 = 权限   * :所有
admin = *
2 修改Quickstart的main方法里面的代码(去掉英文注释,添加中文注释),
	// 1. 创建一个SecurityManagerFactory
	Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
	// 2. 通过SecurityManagerFactory获取一个SecurityManager实例
	SecurityManager securityManager 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值