Shiro框架学习笔记(一)shiro简介以及工作流程

简介: Shiro框架学习笔记(一)shiro简介以及工作流程

不知道大家在做java web项目的时候有没有想过这个,虽然我们一般做项目时都会选择让用户先注册登录之后才能看到我们项目的具体内容,在知道了内部页面的路径之后我们能够在未登录的情况下,直接在网页中输入我们内部页面的绝对路径访问到呢?

答案当然是可以的,所以这时候就牵扯出了一些问题,我们怎么才能对用户进行身份验证,这样才能确保用户必须登录过后才能浏览相关的界面。这时候就有两种方案,一种是直接通过过滤器实现,在每一用户的请求操作时都检查一遍用户用户是否已经登录,否则就禁止访问,第二种就是我要说的shiro框架。官方文档上是这样介绍shiro的


shiro


Apache Shiro 是 Java 的⼀个安全(权限)框架。Shiro 可以轻松的完成:身份认证、授权、加密、会话管理等功能


Shiro 可以⾮常容易的开发出⾜够好的应⽤,其不仅可以⽤在JavaSE 环境,也可以⽤在 JavaEE 环境。功能强⼤且易⽤,可以快速轻松地保护任何应⽤程序 ( 从最⼩的移动应⽤程序到最⼤的Web和企业应⽤程序。)


⽅便的与Web 集成和搭建缓存。


简单来说就是对用户登录是进行检测并且一直持续到会话结束,其次就是对用户的角色以及权限进行检测,检查该用户是否具有相应的权限或者是是否具备相应的角色身份。其次就是对用户的一些私密信息进行加密处理。这就是shiro大致所做的工作。


接下来,介绍一下shiro的工作流程。


20200630191630344.png

首先shiro工作流程中又三个重要的组件,分别是Subject,SecurityManager,以及Realm。

先来介绍Subject,即为主体也就相当于目前操作系统的用户直观来说就相当于目前登录的用户。这里Subject主要是用来检测用户的登录,登录完之后就主要将工作交给SecurityManager来完成

其次就是SecurityManager主要来检测目前的用户Subject的一系列的安全操作,比如说当前用户所具备的权限,以及该用户的角色是哪一层级的,在用户执行一系列操作的时候进行授权,避免越权的操作。

之后就是Realm,他主要就是负责与数据库交互,就比如说SecurityManager来检测用户的权限是,就需要Realm从数据库中取出该用户的权限以及角色信息,之后才能方便SecurityManager来进行授权的操作。



相关文章
|
2月前
|
安全 Java 网络安全
【Shiro】第四章 Web项目集成Shiro
【Shiro】第四章 Web项目集成Shiro
72 1
|
12月前
|
网络安全 网络架构
【Shiro】第四章 Web项目集成Shiro(一)
【Shiro】第四章 Web项目集成Shiro
63 0
|
12月前
|
Java
【Shiro】第四章 Web项目集成Shiro(二)
【Shiro】第四章 Web项目集成Shiro(二)
56 0
|
12月前
|
数据安全/隐私保护
【Shiro】第四章 Web项目集成Shiro(三)
【Shiro】第四章 Web项目集成Shiro(三)
55 0
|
12月前
|
安全 Java
【Shiro】第四章 Web项目集成Shiro(四)
【Shiro】第四章 Web项目集成Shiro(四)
76 0
|
缓存 安全 前端开发
shiro架构的入门介绍
shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。 spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统, 分布式系统权限管理,shiro属于轻量框架,越来越多企业项目开始使用shiro。
shiro架构的入门介绍
|
存储 数据采集 缓存
Shiro简介
.什么是Shiro - .ApacheShiro 是一个Java的安全(权限)框架。 - .Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。 - .Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等。
Shiro简介
|
缓存 安全 Java
Shiro框架学习
Shiro框架学习
163 0
Shiro框架学习
|
XML JSON 安全
|
存储 安全 Java
shiro简介
shiro是apache提供的强大而灵活的开源安全框架,它主要用来处理身份认证,授权,企业会话管理和加密。 通俗的讲,shiro的身份认证和授权就是拦截用户未登陆或者没有相应权限的越权访问。 Shiro的企业会话管理实际就是session管理,shiro的session管理可以自定义Session存储的方式,保存到内存、文件、数据库都可以,与传统tomcat等容器无关。