我的shiro之旅: 一 shiro简介

Java Shiro 安全框架:(一)Shiro 的简介 Shiro 的简介1.为什么学习 Shiro2.解决的方案3.什么是 shiro4.Shiro 中的体系的组成5.shiro 的架构 1.为什么学习 Shiro 目前使用遇到的问题? 使用 RBAC 进行角色访问控制的时候,代码书写起来相对比较麻烦 目前学习的写的操作代码整体不太安全 2.解决的方案 Spring securing 安全框架 缺点:基于 Spring 之上的,局限性比较大 shiro javaEE javaSE 分布式项目 3.什么是 shiro Apache Shiro 是一个强 阅读详情

前段时间,因为项目需要,用shiro搭建了一个权限系统。现在项目已完成,希望通过以文章的形式,对shiro进行一些总结。

也希望在总结过程中,对shiro有更深刻的认识。首先,对shiro进行一个简单介绍。

 

一 什么是shiro

Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障.

二 shiro的几个特性

 

  • 易于使用 - 易用性是这个项目的最终目标。应用安全有可能会非常让人糊涂,令人沮丧,并被认为是“必要之恶”。若是能让它简化到新手都能很快上手,那它将不再是一种痛苦了。
  • 广泛性 - 没有其他安全框架可以达到Apache Shiro宣称的广度,它可以为你的安全需求提供“一站式”服务。
  • 灵活性 - Apache Shiro可以工作在任何应用环境中。虽然它工作在Web、EJB和IoC环境中,但它并不依赖这些环境。Shiro既不强加任何规范,也无需过多依赖。
  • Web能力 - Apache Shiro对Web应用的支持很神奇,允许你基于应用URL和Web协议(如REST)创建灵活的安全策略,同时还提供了一套控制页面输出的JSP标签库。
  • 可插拔 - Shiro干净的API和设计模式使它可以方便地与许多的其他框架和应用进行集成。你将看到Shiro可以与诸如Spring、Grails、Wicket、Tapestry、Mule、Apache Camel、Vaadin这类第三方框架无缝集成。
  • 支持 - Apache Shiro是Apache软件基金会成员,这是一个公认为了社区利益最大化而行动的组织。项目开发和用户组都有随时愿意提供帮助的友善成员。像Katasoft这类商业公司,还可以给你提供需要的专业支持和服务。

三 shiro几个重要概念

 

 

Subject

   在考虑应用安全时,你最常问的问题可能是"当前用户是谁",或"当前用户允许做x吗"。当我们写代码或设计用户界面时,问自己这些问题很平常:应用通常都是基于用户有事构建的,并且你希望功能描述是基于每个用户的。所以,对于我们而言,考虑应用安全的最自然方式就是基于当前用户。shiro用Subject概念从根本上体现了这种思考方式。

在shiro中,要得到Subject非常容易,shiro提供了一个工具类,让应用很容易得到当前用户,代码:

Subject currentUser = SecurityUtils.getSubject();

 

SecurityManager

Subject的“幕后”推手是SecurityManager.Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。它是Shiro框架的核心,充当“保护伞”,引用了多个内部嵌套安全组件,它们形成了对象图。但是,一旦SecurityManager及其内部对象图配置好,它就会退居幕后,应用开发人员几乎把他们的所有时间都花在Subject API调用上。

 

Realms

Shiro的第三个也是最后一个概念是Realm。Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器"。也就是说,当切实与像用户帐户这类安全相关数据进行交互,执行认证(登录)和授权(访问控制)时,Shiro会从应用配置的Realm中查找很多内容。

博客已移至 http://blog.gogl.top

 

高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解 在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对 阅读详情

相关推荐

【AAAI2025】【小目标检测】FBRT-YOLO:更快速、更优的实时航拍图像检测方法

FBRT-YOLO是一种新型实时航拍图像检测方法,针对小目标检测的精度与效率平衡问题提出创新解决方案。该方法通过两个轻量级模块显著提升性能:特征互补映射模块(FCM)将浅层空间位置信息深度整合至网络深层,缓解信息失衡;多核感知单元(MKP)采用多尺度卷积增强多目标感知能力。实验表明,在VisDrone、UAVDT和AI-TOD数据集上,FBRT-YOLO在检测精度和速度方面均优于现有实时检测器,特别适用于资源受限的飞行设备。该模型通过精简网络结构,在保持高性能的同时降低了计算负担,为航拍实时检测提供了高效解

weixin_44184852的博客 2906

我的shiro之旅: 六 自定义shiro的sessionId

博客已移至 http://blog.gogl.top   shiro有自己的sesison概念,shiro的session并不是java ee的session。通常,我们看到shiro的sessionId格式类似c6395bbc-425d-43b3-a444-04fee5a92e95,是因为shiro产生sesisonId是通过UUID生成的。我们可以看到shiro-core-xx.jar的o...

Dylan的博文 1万+

【QGIS】PyCharm集成pyqgis的processing工具箱:环境配置与初始化实战

本文详细介绍了如何在PyCharm中配置QGIS的Python环境并成功集成其强大的Processing工具箱。文章核心解决了独立环境下导入processing模块失败、算法无法调用等常见难题,通过手动添加插件路径和执行关键初始化步骤,实现了在PyCharm中丝滑调用QGIS地理处理算法,从而将复杂的空间分析流程自动化。

weixin_28831399的博客 391

我的shiro之旅: 二 让Shiro保护你的应用

博客已移至 http://blog.gogl.top   上一篇文章只是对Shiro作了一个简单的介绍,接下来的内容,将会介绍如何将shiro集成到应用中。这篇文章只要是介绍shiro跟spring项目的集成,以后也会写一些关于Shiro集成到普通web项目的一些文章。这些用到的是目前shiro的最新版本1.2.2,spring也是目前最前版本3.2.3.RELEASE,项目的依赖用的是mav...

Dylan的博文 7225

别让PEX和后仿真拖后腿:Calibre与Virtuoso ADE联调的那些‘坑’与最佳实践

本文深入探讨了Calibre与Virtuoso ADE在PEX寄生参数提取和后仿真联调中的常见问题与解决方案。针对DRC/LVS验证通过后出现的网表导入错误和仿真波形异常,提供了七大典型场景的实战经验,包括PEX提取模式选择、CalibreView生成细节、环境变量配置等关键环节的最佳实践,助力工程师高效完成芯片设计验证。

weixin_33695450的博客 393

《Zephyr OS 入门与实战》第15章:LoRaWAN 集成

【代码】《Zephyr OS 入门与实战》第15章:LoRaWAN 集成。

2301_79143213的博客 610

我的shiro之旅: 十八 例子源码

博客已移至 http://blog.gogl.top 因为墙内经常访问github不正常,将例子源码移到oschina git上。源码地址:http://git.oschina.net/pickear/weasel-spring-shiro/tree/master,doc目录下有个集成了shiro的web项目。 涉及到的依赖包都在http://git.oschina.net/pickear/这...

Dylan的博文 2193

OceanBase容量统计:租户、数据库、表大小

🍎 数据库版本:OceanBase V4。

Sebastien23的博客 1405

我的shiro之旅: 十 自定义shiro的SessionIdCookie

博客已移至 http://blog.gogl.top 在使用shiro的时候,曾经有段时间很苦恼,因为我cookie的sessionId经常无故被改,然后抛There is no session with id [xxxx]的异常。我们知道,当请求过来,shiro创建session后,会把sessionId写回到客户端的cookie中。每二个请求过来时,shiro会拿到这个cookie里的ses...

Dylan的博文 2万+

《MySQL 入门教程》第 03 篇 管理数据库

本篇主要介绍 MySQL 数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

Tony.Dong的专栏 3525

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

第六章 Realm及相关对象——《跟我学Shiro》

  目录贴: 跟我学Shiro目录贴     6.1 Realm 【2.5 Realm】及【3.5 Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。    1、定义实体及关系 即用户-角色之间是多对多关系,角色-权限之间是多对多关系;且用户和权限之间通过角色建立关系;在系统中验证时通过权限验证,角色只是权限集合,即...

jinnianshilongnian的专栏 1110

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Spring Boot之旅:Java安全框架Apache Shiro基本配置(一)

第一步:准备开发环境 Spring Boot 版本:1.5.4.RELEASE Shiro 版本:1.3.2 Thymeleaf 版本:  3.0.7.RELEASE 第二步:Spring Boot+Shiro+Thymeleaf配置集成 (1)在pom.xml配置文件中引入相关依赖如下: org.springframework.boot spring-boot-start

qq_31591883的博客 649

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Shiro - Shiro简介;Shiro与Spring Security区别;Spring Boot集成Shiro

以下引自百度百科Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。三个核心组件:Subject,SecurityManager 和 Realms。...

MinggeQingchun的博客 4万+

Shiro权限框架简介

最近加入了gxpt项目组,被安排做权限模块,所以也有幸第一次接触到了Shiro框架。让我们来一起领略Shiro的风采吧。 什么是Apache Shiro?        Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障 - 从命令行应用、移动应用到大型网络及

崔成龙 . 勇往直前 2万+

Shiro(一):shiro简介

SecurityManager:Shiro 架构的心脏,用来协调内部各安全组件,管理内部组件实例,并通过它来提供安全管理的各种服务。当 Shiro 与一个 Subject 进行交互时,实质上是幕后的 SecurityManager 处理所有繁重的 Subject 安全操作。权限的最近匹配原则:如果多个安全实体存在包含关系,而某个安全实体没有权限限制,那么它会向上寻找并匹配相应权限限制,权限的继承性:如果多个安全实体存在包含关系,而某个安全实体没有权限限制,

zfhdfjgfhj的博客 619

Shiro简介

shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro。...

hmj2181629495的博客 6145

我的shiro之旅: 十四 shiro 自动登录

博客已移至 http://blog.gogl.top shiro有几种状态,其中包括guest,user,authenticated。guest就是游客,authenticated就是认证后的用户,而user是介于两者之前。user并不代表用户已经成功认证,当用户上次登录时选择rememberMe,下次用户再访问时就是user状态。登录时选择rememberMe,shiro会通过一种加密方式将p...

Dylan的博文 2万+

Shiro的简介(一)

> 勿以恶小而为之,勿以善小而不为--------------------------刘备 > > 劝诸君,多行善事积福报,莫作恶 主要内容: shiro 的名称解释和小Demo

两个蝴蝶飞 1247

shiro简介(一)

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

逝者如风 1616

shiro 简介

shiro 简介

快乐的小三菊的博客 3021

Shiro系列一:简介

 Apache Shiro 是 Java 的一个安全(权限)框架。 Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。Shiro不会去维护用户、维护权限;这些需要我们自己去设计和提供;然后通过相应的接口注入给Shiro即可。官网下载:http://shiro....

苍穹尘的博客 498

细说shiro之一:shiro简介

细说shiro之一:shiro简介 官网:https://shiro.apache.org/ 一. Shiro是什么 Shiro是一个Java平台的开源权限框架,用于认证和访问授权。具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url)。 用户分配角色,角色定义权限。 访问授权时支持角色或者权限,并且支持多级的权限定义。 Q:对组的支持? A:shiro默认不支持对组设置权限。 Q:是否可以满足对组进行角色分配的需求? A:.

骏马逸动,心随你动的博客 762

【Shiro】一、Apache Shiro安全框架简介

一、Shiro简介 Apache Shiro(发音为“ shee-roh”,日语为“ castle”)是一种功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理,可用于保护任何应用程序的安全-从命令行应用程序,移动应用程序到最大的Web和企业应用程序。 Shiro提供了用于执行以下方面的应用程序安全性API(我喜欢将它们称为应用程序安全性的4个基石): 身份验证-证明用户身份,通常称为用户“登录”。 授权-访问控制 密码术-保护或隐藏数据以防被撬 会话管理-每个用户的时间敏

KevinBrain的博客 1142
上一篇: 我的shiro之旅: 三 浅谈shiro的filter
下一篇: 我的shiro之旅: 二 让Shiro保护你的应用
LHacker
博客等级 码龄17年 162粉丝 24原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值