【安全】Shiro权限框架基于SE的理解入门

Apache Shiro是一个简单易用的Java安全框架,涉及认证、授权、加密和会话管理。本文介绍了Shiro的基本功能,如身份验证、授权、会话管理和缓存,并详细阐述了其架构,包括Subject、SecurityManager、Realm等核心概念。同时,通过一个基于SE的认证用户示例,展示了如何配置和使用Shiro进行用户登录和权限验证。
摘要由CSDN通过智能技术生成

Shiro权限框架基于SE的理解入门

1. Shiro简介

Shiro官网:http://shiro.apache.org/

以下来自官网简介:
Apache Shiro是一个功能强大、易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的Web和企业应用程序。

  • Apache Shiro 是 Java 的一个安全(权限)框架
  • Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 Java SE 环境,也可以用在 Java EE 环境
  • Shiro 可以完成:认证、授权、加密、会话管理、与 Web 集成、缓存等
功能简介

基本功能点如下图所示:
在这里插入图片描述
各部分功能简介:

  • Authentication:身份认证 / 登录,验证用户是否拥有相应身份
  • Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能进行什么操作,如:验证某个用户是否拥有某个角色。或者细粒度地验证某个用户对某个资源是否具有某个权限
  • Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通 Java SE 环境,也可以是 Web 环境
  • Cryptography:加密,保护数据的安全性,如密码加密储存到数据库,而不是明文储存
  • Web Support:Web 支持,可以非常容易地集成到 Web 环境
  • Caching:缓存,如用户登录后,其用户信息、拥有的角色 / 权限不必每次都去检查,可以提高效率
  • Concurrency:Shiro 支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能够把权限自动转播出去
  • Testing:提供测试支持
  • Run As:允许一个用户假装成另一个用户的身份进行访问
  • Remember Me:记住我,这是一个非常常见的功能,即一次登录以后,下次再来的话则不用再次登录

2. Shiro架构

从应用程序的角度观察 Shiro 的工作流程:
在这里插入图片描述
Shiro 架构:

  • Subject:任何可以与应用交互的“用户”
  • SecurityManager:相当于 SpringMVC 中的 DispatcherServlet;是 Shiro 的心脏;所有具体的交互都通过 SecurityManager 进行控制;它管理着所有的 Subject、且负责进行认证、授权、会话及缓存的管理
  • Authenticator:负责 Subject 认证,是一个扩展点,可以自定义实现;可以使用认证策略(Authentication
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值