Shiro入门(一)Shiro简介

news/2024/7/5 11:23:01

前言

      本章学习Shiro安全框架的基本概念

方法

1.概念

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

2.为什么要学习Shiro?

在Shiro之前,已经出现了Spring Security这种安全框架,由于其需要依赖Spring和复杂性,易学性比较大。所以建议学习比较简单的Shiro,它比较独立,既可以在JavaSE中使用,也可以在JavaEE中使用,在分布式集群环境下也可使用,适用场景比较多。

在实际的项目中,每个用户都具有相应的权限,例如他需要有那些菜单,不能有哪些菜单等等。都是需要用权限进行控制的。由于手写权限控制的难度较大,所以我们选择使用别人为我们准备好的Shiro。

我们还是记一下它的图标:

3.Shiro功能体系

Authentication:认证

      验证用户是否合法,说白了就是登陆。

Authorization:授权

      授予谁具有访问某些资源的权限,比如菜单访问权限

Session Management:会话管理

     用户登录后的用户信息通过Session Management进行管理

Cryptography:加密

     使用了常见的加密算法,使得数据安全性得以保证且使用更加便捷

Web Support:Web应用程序的支持

      Shiro可以很方便的集成到Web应用程序中

Caching:缓存

     Shiro提供了对缓存的支持,支持多种缓存架构,如Redis

Concurrency:并发支持

     提供多线程并发支持

Testing:测试,支持测试

Run As :支持一个用户在允许的条件下使用另外的身份登陆

Remember Me:记住我,提供记住用户名密码功能。

4.Shiro架构

Subject:主体,可以是用户,也可以是第三方程序等,Subject用来获取主体信息,包含用户信息以及凭证

Security Manager:安全管理器,也可以称之为Shiro的“心脏”。用来协调管理Shiro各个组件的工作。

Realms:域,Shiro通过Realms来获取用户、权限等信息进行比对校验。Shiro不会去维护这些信息,Realms包括文本信息,数据库信息等,当然实际环境中我们通常是使用RDBMS,也就是关系型数据库获取相关信息的。


http://www.niftyadmin.cn/n/2757448.html

相关文章

linux 2 unit10 selinux

selinux的管理####安全上下文的查看与更改####vim /etc/sysconfig/selinux ###更改状态[rootlocalhost ~]# systemctl status vsftpd ##查看vsftpd服务状态vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled)Active: in…

多台路由器同时上网

为什么80%的码农都做不了架构师?>>> 现在生活中总是会出现这样的情况: 1:通过拨号上网(即通过用户名、密码如长城宽带上网)时。 2:通过别的人路由器接到一根可以上网的线。 然而现在的手机或是…

《Java程序员面试秘笈》—— 面试题13 Java开发原则

本节书摘来异步社区《Java程序员面试秘笈》一书中的第1章,第1.13节,作者:常建功,更多章节内容可以访问云栖社区“异步社区”公众号查看。 面试题13 Java开发原则 Java程序员面试秘笈请选择下面Java语言描述正确的项。 &#xff08…

Shiro入门(二)Shiro登录认证

前言 本章讲解使用Shiro实现登陆验证 方法 1.概念 Authentication,验证用户是否合法,说白了就是登陆。 需要提交用户的身份和凭证给shiro,简单点来说就是用户名和密码。 Principals:用户的身份信息,是Subjec的标识…

Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色

以下是主要代码,难点和疑问点都写在注释中: /*** 开始背景动画(此处为属性动画)*/private void startBackgroundAnimator(){/**参数解释:*target:设置属性动画的目标类,此处是当前自定义view所以…

Oracle 默认和非默认监听

一、如果使用默认的1521端口,让实例自动注册到该监听上,那么local_listener无需设置,listener.ora文件按照正常方式配置即可。 二、如果使用非默认1521端口,让实例自动注册到该监听上,那么需要设置local_listerner参数…

《android Graphics(一):概述及基本几何图形绘制》

2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/harvic880925/article/details/38875149 1、《android Graphics(一):概述及基本几何图形绘制》2、《android Graphics(二):路…

Shiro入门(三)Shiro异常和JdbcRealm

前言 本章讲解Shiro的异常和JdbcRealm的相关知识 方法 1.回顾 在之前,我们完成了shiro的登陆验证,不知道大家有没有试过写错密码或者用户名会出现什么情况? 是会出现诸如“用户登陆失败!”的字眼吗?显然不是的&…