前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shiro框架学习笔记(一)shiro简介以及工作流程

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

作者头像
萌萌哒的瓤瓤
发布2020-08-26 10:53:28
7550
发布2020-08-26 10:53:28
举报

不知道大家在做java web项目的时候有没有想过这个,虽然我们一般做项目时都会选择让用户先注册登录之后才能看到我们项目的具体内容,在知道了内部页面的路径之后我们能够在未登录的情况下,直接在网页中输入我们内部页面的绝对路径访问到呢? 答案当然是可以的,所以这时候就牵扯出了一些问题,我们怎么才能对用户进行身份验证,这样才能确保用户必须登录过后才能浏览相关的界面。这时候就有两种方案,一种是直接通过过滤器实现,在每一用户的请求操作时都检查一遍用户用户是否已经登录,否则就禁止访问,第二种就是我要说的shiro框架。官方文档上是这样介绍shiro的

shiro

  1. Apache Shiro 是 Java 的⼀个安全(权限)框架。Shiro 可以轻松的完成:身份认证、授权、加密、会话管理等功能
  2. Shiro 可以⾮常容易的开发出⾜够好的应⽤,其不仅可以⽤在JavaSE 环境,也可以⽤在 JavaEE 环境。功能强⼤且易⽤,可以快速轻松地保护任何应⽤程序 ( 从最⼩的移动应⽤程序到最⼤的Web和企业应⽤程序。)
  3. ⽅便的与Web 集成和搭建缓存。

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

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

shiro工作流程
shiro工作流程

首先shiro工作流程中又三个重要的组件,分别是Subject,SecurityManager,以及Realm。 先来介绍Subject,即为主体也就相当于目前操作系统的用户直观来说就相当于目前登录的用户。这里Subject主要是用来检测用户的登录,登录完之后就主要将工作交给SecurityManager来完成 其次就是SecurityManager主要来检测目前的用户Subject的一系列的安全操作,比如说当前用户所具备的权限,以及该用户的角色是哪一层级的,在用户执行一系列操作的时候进行授权,避免越权的操作。 之后就是Realm,他主要就是负责与数据库交互,就比如说SecurityManager来检测用户的权限是,就需要Realm从数据库中取出该用户的权限以及角色信息,之后才能方便SecurityManager来进行授权的操作。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • shiro
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档