shrio框架

Python自动化测试全套教程-第一天(python、pycharm开发环境的安装与配置(图文超级详细);附安装包) 本文介绍了Python开发环境的完整安装配置流程。主要内容包括:1) Python解释器的下载安装与版本检测方法;2) PyCharm IDE的下载安装步骤,包括专业版和社区版的选择;3) PyCharm的基础配置和项目创建方法;4) 开发环境的基本构造说明。文章提供了两种获取安装包的方式(官网下载和文章附件),并详细说明了解释器卸载、安装过程中的注意事项,以及如何验证环境配置成功。特别强调了PyCharm安装时的路径选择和虚拟环境的创建方法,为Python初学者提供了完整的开发环境搭建指南。 阅读详情

这里是修真院后端小课堂,每篇分享文从

八个方面深度解析后端知识/技能,本篇分享的是:

【shrio框架】

大家好,我是IT修真院深圳分院第十二期学员,一枚正直纯洁善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务十的一个知识点:shrio

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

Apache Shiro 是一个安全框架,而他的作用:认证、授权、加密、会话管理、与Web集成、缓存等。今天要讲到的有两点,身份认证和权限管理。这里我们改用 SpringBoot Security + OAuth2 + JWT 三者结合来实现身份认证和权限管理。

2.知识剖析

2.1.Spring Security的主要作用:

2.2.spring Security配置

2.3.spring cloud oauth2 的认证流程

2.4.JWT的应用场景

2.5.JWT的认证流程







 2.1.Spring Security的主要作用:

1.认证,是认证主题的过程,通常是指可以在应用程序中执行操作的用户、设备或其他资源。

2授权,是指决定是否允许已认证的主体执行某一项操作。

2.2.spring Security配置

1.首先是引入 Spring Security 相关依赖

2.编写一个配置类,这个类继承 WebSecurityConfigurerAdapter,并在该配置类上加上 @EnableWebSecurity 开启Web Security。

2.配置 HttpSecurity ,也就是配置认证规则,哪些URL需要认证,哪些不需要,以及需要拥有什么权限才能访问。

3.开启方法级别的安全配置,需要通过在配置类上加上 @EnableGlobalMethodSecurity,方法级别上的安全控制 secureEnable、jsr250Enabled 和 prePostEnabled 这三种方法,其中用得最多的就是 prePostEnabled 。而 prePostEnabled 包括 preAuthorize 和 PostAuthorize 两种方式,一般只用 preAuthorize 这种方式。

2.3.spring cloud oauth2 的认证流程

oauth2 是一个标准的授权协议,其允许不同的客户端通过认证和授权的形式来访问被其保护起来的资源。在认证和授权的过程中,主要有如下三个角色:

(1)服务提供方 Authorization Server

(2)资源持有者 Resource Server

(3)客户端 Client

oauth2 的认证流程如下 :

(1)用户(资源持有者)打开客户端,客户端访问用户授权。

(2)用户同意授权。

(3)客户端向授权服务器申请授权。

(4)授权服务器对客户端进行认证,也包括用户信息的认证,认证成功后授权给予令牌。

(5)客户端获取令牌后,携带令牌想资源服务器请求资源。

(6)资源服务器确认令牌正确无误,向客户端释放资源。

2.4.JWT的应用场景

在这之前先认识一下什么是 JWT,即JSON Web Token是一种开放的标准,JWT定义了一种紧凑且自定包含的标准,这个标准旨在将各个主体的信息包装为JSON对象。主体信息是通过数字签名进行加密和验证的。长是哟红HMAC算法或RSA(公钥、私钥的非对称性加密)算法对JWT进行签名,安全性很高。

(1)认证:这是使用JWT最常见的场景。一旦用户登录成功获取JWT后,后续的每个请求都携带该JWT。该JWT包含了用户信息、权限点等信息,根据该JWT包含的信息,资源服务可以控制该JWT可以访问的资源范围。

(2)信息交换:JWT是在各方之间安全传输信息的一种方式,JWT使用签名加密,安全性很高。

2.5.JWT的认证流程

客户端通过提供用户名、吗,密码箱服务器请求获取JWT,服务器判断用户名和密码正确无误之后,将用户信息和权限点经过加密以JWT的形式返回客户端。在以后的每次请求中,获取该JWT的客户端都需要携带该JWT,这样做的好处是以后的请求都不在需要通过权限任务服务再次来判断该请求用户以及该用户的权限了。

3.常见问题

3.1.oauth2存在什么缺陷?

答:缺陷就是每次请求都需要在资源服务内部远程调度 认证服务来验证 token的正确性,以及该token对用的用户所具有的权限,额外多了一次内部请求。

3.2.JWT的结构有哪几部分?

答:有三部分组成,分别是 Header(头),Payload(有效载荷),Signature(签名)

3.JWT 的几个特点?

(1)JWT 默认是不加密,但也是可以加密的。生成原始 Token 以后,可以用密钥再加密一次。

(2)JWT 不加密的情况下,不能将秘密数据写入 JWT。

(3)JWT 不仅可以用于认证,也可以用于交换信息。有效使用 JWT,可以降低服务器查询数据库的次数。

(4)JWT 的最大缺点是,由于服务器不保存 session 状态,因此无法在使用过程中废止某个 token,或者更改 token 的权限。也就是说,一旦 JWT 签发了,在到期之前就会始终有效,除非服务器部署额外的逻辑。

(5)JWT 本身包含了认证信息,一旦泄露,任何人都可以获得该令牌的所有权限。为了减少盗用,JWT 的有效期应该设置得比较短。对于一些比较重要的权限,使用时应该再次对用户进行认证。

(6)为了减少盗用,JWT 不应该使用 HTTP 协议明码传输,要使用 HTTPS 协议传输。

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

 优快云、百度百科

8.更多讨论

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

快来与我一起学习吧~

开源大模型推理GPU资源评估以及优化 随着大模型的火热很多项目中都使用到了开源大模型,这时候准确评估大模型的GPU资源非常重要,主要有下面几个方面:GPU是昂贵的资源。高估内存需求可能导致在硬件上的不必要支出,而低估则可能导致系统故障或性能下降。:适当的内存管理确保模型高效运行,能够更快地响应用户并处理更多并发请求。:随着需求的增长,理解内存需求对于在不牺牲性能或产生高昂成本的情况下扩展服务至关重要。尽管其重要性显而易见,但计算用于服务大型语言模型(LLM)的GPU内存并不简单。 阅读详情

相关推荐

Abaqus子程序开发避坑指南:从UMESHMOTION到齿轮磨损分析实战

本文深入探讨Abaqus子程序开发中的关键技术与避坑指南,重点解析UMESHMOTION在齿轮磨损分析中的实战应用。从开发环境搭建、调试框架构建到性能优化和大规模计算,提供系统化的解决方案。通过真实案例展示如何避免内存泄漏、网格畸变等常见问题,并介绍数据驱动的磨损预测等前沿技术,帮助工程师提升仿真精度与效率。

weixin_30892037的博客 88

安全框架之shrio-简介

本文学习主要参考官方英文文档(博客中已翻译处理)shiro作用:认证、授权、加密、会话管理、与Web集成、缓存等。 你可以用shiro来做以下事情 认证一个用户来核实他的身份 控制用户的一些访问权限,例如: 一个用户是否具有某个安全权限 一个用户是否被允许进行某些操作 在任何场景使用会话API,即使不是web工程或者EJB容器 对认证、控制权限获得等事件或者在一次会话生命周期中起作用 聚集一个或

shinerio的博客 1214

正确使用 SGLang 和 vLLM 中为 Qwen3 开启工具调用能力的完整指南

本文介绍了在vLLM和SGLang框架中部署Qwen3大模型并启用工具调用功能的方法。主要内容包括:vLLM中需配置--tool-call-parser hermes和--enable-auto-tool-choice参数,SGLang中使用--tool-call-parser qwen25参数;提供了完整的部署命令示例和测试工具调用的curl请求模板;对比了两个框架的关键参数差异;总结了常见问题解决方案和性能优化建议。正确配置后,Qwen3能够充分发挥其外部工具调用能力,为AI应用开发提供支持。

Ven%的博客 4451

shiro入门

目录shiro简介shiro入门案例shiro与web集成 shiro简介 什么是shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。 spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理...

阳某的博客 1401

NCBI|叶绿体基因组数据上传

叶绿体基因组NCBI上传 小编最近在NCBI上传了好几次数据…想着可以把具体的上传步骤写下来,供大家参考。以下是叶绿体基因组的上传示例,大家可以瞅瞅 图片 准备工作 1.登录NCBI官网:https://www.ncbi.nlm.nih.gov/, 依次点击“sign in to NCBI”——“See more 3rd party sign in options”——搜索“Microsoft live.com”。 ”sign in to NCBI“ ”See more 3rd party sign i

weifanbio的博客 3901

TOGAF架构内容—TOGAF 内容框架和企业元模型

TOGAF架构内容—TOGAF 内容框架和企业元模型

深圳市多克创新科技有限公司 1664

一、Shiro安全框架-简介和架构

一、Shiro安全框架-简介和架构 写在前面 最近在看Shrio安全框架,于是记录一下,欢迎大家学习讨论。 1.Shiro简介 1.1.什么是Shiro? Apache Shiro是一个强大灵活的开源安全框架,提供认证、授权、会话管理以及密码加密等功能。 Apache Shiro 首要的目标是易于使用和理解。安全相关的操作有时很复杂很麻烦,不过这完全没必要,一个安全框架应该尽可能隐藏这其中的复杂性并提供一套简洁直观的 API 来简化开发人员在这方面的工作。 1.2.Shiro的功能 Shiro的功能如上图

A_nonym的博客 626

代谢组数据分析(二十二):代谢组原始数据Zscore标准化和主成分分析(PCA)及热图

本教程介绍了使用Z-score标准化和主成分分析(PCA)进行代谢组学数据预处理和分析的方法。代谢物原始数据具有高噪声、高维小样本、高变异性和复杂相互作用关系等特点,因此在数据分析时需注意数据质量控制、参数选择、批次效应、假阳性控制等问题。Z-score标准化通过将数据转换为均值为0、标准差为1的标准正态分布,提高了数据的可比性,减少了系统误差,并适应了统计分析方法的需求。PCA则通过降维、去相关和特征提取,帮助理解数据的结构和模式。教程还详细介绍了数据预处理步骤,包括填补缺失值、设置名称和顺序等,并提供了

专注生信领域 2860

Shiro安全框架简介

Shiro默认实用的是simpleCredentialsMatcher中的doCredentialsMatcher方法,这个方法使用的是equals的方式进行比较密码。调用subject中的isPermittedAll方法,参数为可变长参数(可以传一个或者多个)【如果是多个,那么这个主体需要拥有参数里面所有的权限字符串才能访问】在doGetAuthenticationInfo方法中获取用户的身份信息,然后校验是否和数据库中的一致。Shiro不依赖于WEB,即使是一个测试程序也能够使用Shiro中的功能。

weixin_45934981的博客 1634

“华为杯”研究生数学建模竞赛2020年-【华为杯】D题:无人机集群协同对抗(附获奖论文和MATLAB代码实现)

1.问题重述摘 要:本文针对非线性约束条件下红蓝双方无人机集群协同对抗的最优规划问题,结合贪婪队形、非线性规划、内点法、蒙特卡洛方法和全联立正交配置有限元法,构建了无人机集群协同对抗推演模型。,构建了。我们综合考虑了,和。首先分析红方在集群约束下的贪婪队形和拦截策略,然后我们基于内点法联合MATLAB和AMPL编程求解蓝方突防的非线性规划解,最后基于蒙特卡洛法对整个蓝方突防过程进行推演,得到突防概率图。通过推演,我们提出了两块的区域作为所求区域,并对蓝方的最优突防策略进行分析。

getusushu的博客 1551

zabbix系列:内存VM.MEMORY.SIZE监控之total、free、pused、available 参数说明

free -m buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的. zabbix Web total:1046/1024=1.02G Available:216/1046=20.65% zabbix参数 total- 总物理内存. free- 可用内存. active- 内存当前使用或最近使用,所以它在RAM中。 inactive- 未使用内存. wired- 被标记为始终驻留在RAM中的内...

NIO4444 5668

Shrio整合Jwt

在springboot项目中Shrio整合Jwt

精神小伙的博客 337

uniapp [全端兼容] - 实现大文件上传分片/切片+本地选择文件上传超大文件,大文件切片上传+断点续传+上传进度条+失败自动重传,支持单个/批量上传图片、视频、文档各种文件(App、小程序、H5

uniapp 分片 断点续传 大文件上传。uniapp大文件切片上传,uniapp实现大文件上传 分片上传 进度条,分片上传附件,实现大文件上传,实现分片大文件上传,Uniapp实现大文件上传 分片上传 进度条,uniapp文件分片上传,uniapp如何上传很大的文件,在选择文件后,按指定大小将文件切割成独立的文件片,并逐片上传,uniapp 微信小程序上传大文件如何切片,uniapp APP实现大文件分片上传、断点续传、秒传,解决大文件上传问题,大文件上传如何做断点续传,uniapp上传视频,Uniapp

🏆 前端领域优质创作者 1万+

Shrio RBAC框架

实在地感受到框架的复用性。比如说RBAC框架,基于角色的权限管理框架,但是很多东西你还是得自己写,Shiro可以直接管理用户,获取用户登录帐号,时间等等。 限制一个帐号只能一个用户登录         @Autowired private SessionDAO sessionDAO;  @RequestMapping(value="index",method=RequestMeth

大鸡腿的博客 562

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【基础框架】Shrio安全框架

基于主页的权限管理(不同用户使用不同的主页,权限通过主页功能菜单进行限制)基于用户和权限的权限管理基于角色的访问控制认证:对用户的身份进行检查(登录验证)授权:对用户的权限进行检查(是否有对应的操作权限)流程示意图: 认证,验证用户是否有相应的身份—登录认证; 授权,即权限验证;对已经通过认证的用户检查是否具有某个权限或者角色,从而控制是否能够进行某种操作;会话管理,用户在认证成功之后创建会话,在没有退出之前,当前用户的所有信息都会保存在这个会话中;可以是普通的JavaSE应用,也可以是web应用;加密

博客包含书籍、B站、其他博主博客等内容,只为了记录笔记,作业,问题,软件配置等,为了以后方便查阅,如有侵权,请联系删除 3922

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Shrio 安全框架

几乎所有涉及用户的系统都需要进行权限管理,权限管理涉及到一个系统的安全。Spring Boot 的安全框架整合方案中还有一个璀璨的明珠:Shrio。Shiro是一款由Java 编写的安全框架,功能强大,入手容易。Shiro 提供了一套完的RABC模式的授权认证体系,可以对密码进行加密,并完成安全的会话管理。与SpringSecurity 相比显得功能较少,但是对于追求“小而美”的解决方案的开发者和项目来说Shiro使用起来更加得心应手。用于身份验证以及登录,检查用户是否拥有相应的角色权限。

m0_62943934的博客 1716

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

shrio框架的realm机制

Realm的使用:如果我们希望可以将Shiro校验的用户信息存储在数据库里面,再从数据库里面读取出来。可以通过Shiro的Realm机制实现。 Realm机制就是将配置文件的校验用户信息存放在数据库、LDAP等数据存储系统里面。 Realm事例 第一步:创建项目,导入包 第二步:创建shiro.ini配置文件 [main] #创建一个...

dna12406的博客 232

shrio登录框架

简单的后台判断的代码:private static Logger log=LoggerFactory.getLogger(demo1.class); public static void main(String[] args) { log.info("ceshi...."); //1、获取安全管理器 Factory<SecurityManager> factory=new I...

黑彩侠的博客 456

Shrio框架的认证

Shiro 的认证方式 1.@RequestMapping() 获得页面传过来的用户名和密码 代码如 @RequestMapping(value = "login.do", method = RequestMethod.POST)     public String doLogin(String loginName, String loginPwd) { 2.获得一个登陆对象 Subje...

任浩的博客 194

shrio安全框架

(一)shrio简介1、什么是 apache shiro :Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理如同 Spring security 一样都是是一个权限安全框架,但是与Spring Security相比,在于他使用了和比较简洁易懂的认证和授权方式。2、Apache Shiro 的三大核心组件:1、Subject :当前用户的操作。即...

黑彩侠的博客 546

Shrio权限管理框架

Shrio权限管理框架 1.权限管理相关概念 1.1 权限管理概述 权限管理:凡是涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可访问而且只能访问自己已被授权的资源。 权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源,用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。...

weixin_43153155的博客 440

shrio安全框架 “shrio”怎么读

Apache - Shiro 安全框架。 shrio意为日语堡垒。 お城 おしろ(假名注音)o shi ro(罗马注音)哦 西 佬 读作“西老”

qq_42339350的博客 2548

SpringBoot之shrio框架详解一

一 权限框架设计之ACL和RBAC讲解* 简介:介绍什么是ACL和RBAC ACL: Access Control List 访问控制列表 以前盛行的一种权限设计,它的核心在于用户直接和权限挂钩 优点:简单易用,开发便捷 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理 例子:常见的文件系统权限设计, 直接给用户加权限 RBAC: Role Based Access Contr...

weixin_43288858的博客 456

Shrio安全框架简介

②从这个意义上讲,Realm实质上是一个安全相关的DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给Shiro。配置多个Realm是可以的,但是至少需要一个。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;Caching:缓存,比如用户登录后,其用户信息、拥有的角色 / 权限不必每次去查,这样可以提高效率;

青藤的博客 1268

shrio 安全框架

shiro简介。     apache shiro是java的一个安全框架。 shiro 可以比Spring security 更加便捷,不仅适用于javaSe环境,也可以用在java EE环境 shiro的作用   认证 授权 加密 回话管理 web集成 缓存。      转载于:https://www.cnblogs.com/CAOXIAOYANG/...

weixin_34240520的博客 74
上一篇: 什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?
下一篇: HashMap浅析
learning__java
博客等级 码龄8年 87粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值