文档章节

About Shiro 基础1

xyyyy
 xyyyy
发布于 2017/03/20 16:53
字数 466
阅读 14
收藏 0

简介:Apache Shiro是Java的一个安全框架,类似于Spring Security。

 

基本构成:

Authentication身份认证/登录,验证用户是不是拥有相应的身份;

Authorization授权,即权限验证,验证某个已认证的用户是否拥有某个权限;

Session Manager会话管理;

Cryptography加密;

Web SupportWeb支持,可以非常容易的集成到Web环境;

Caching:缓存;

Concurrencyshiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

Testing提供测试支持;

Run As允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

Remember Me记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。

 

 

主要用到的对象:

Subject 主体 由SecurityManager管理

SecurityManager安全管理器 Shiro的核心(如果学习过SpringMVC,你可以把它看成DispatcherServlet前端控制器)

Realm域  用来确定用户是否合法 可以把Realm看成DataSource,即安全数据源。

Authenticator认证器

Authrizer授权器;

CacheManager缓存控制器,来管理如用户、角色、权限等的缓存的;因为这些数据基本上很少去改变,放到缓存中后可以提高访问的性能

Cryptography密码模块,Shiro提高了一些常见的加密组件用于如密码加密/解密的。

 

 

 

实现用户的认证和授权

我们可以创建一个XXXRealm类继承Shiro的AuthorizingRealm

重写他的doGetAuthorizationInfo方法对用户进行授权:

返回一个 Authorizationinfo ,这个info对象里可以用setRole,addPerms等方法对用户进行添加角色,添加权限等操作,

Role,Perms的参数可以是String,也可以是个hashset

重写doGetAuthenticationInfo方法对用户进行认证。

 

 

本文转载自:http://www.cnblogs.com/staticxy/p/6086539.html

上一篇: linux常用命令
下一篇: 免费天气接口
xyyyy
粉丝 0
博文 17
码字总数 0
作品 0
渝中
程序员
私信 提问
Shiro实战(六) - 权限缓存

1 概述 Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。 Shiro提供的Cache接口: Shiro内部相应的组件(DefaultSecu...

芥末无疆sss
2018/10/26
0
0
SpringMvc + Shiro[数据库存权限] 配置 ;[附git.oschina的项目地址]

一 shiro简介 apache shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证、授权、加密、会话管理等功能。认证和授权为权限控制的核心,简单来说,“认证”就是证明“你是谁?” We...

王庭
2015/10/28
0
3
shiro基础配置

spring-shiro.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:......

卯金刀GG
2016/09/09
25
0
Apache Shiro 快速入门教程,shiro 基础教程

第一部分 什么是Apache Shiro 1、什么是 apache shiro : Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理 如同 spring security 一样都是是一个权...

kevin728971010
2016/10/25
779
3
【shiro】一、基础概念

来源:http://blog.csdn.net/swingpyzf/article/details/46342023/ &&&& http://jinnianshilongnian.iteye.com/blog/2018936 什么是Apache Shiro 1、什么是 apache shiro : Apache Shiro是一......

angel挤一挤
2016/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vmstat命令详解

https://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html

流光韶逝
15分钟前
0
0
如何理解算法时间复杂度的表示

先从O(1) 来说,理论上哈希表就是O(1)。因为哈希表是通过哈希函数来映射的,所以拿到一个关键 字,用哈希函数转换一下,就可以直接从表中取出对应的值。和现存数据有多少毫无关系,故而每次执...

yky20190625
31分钟前
2
0
分布式架构 实现分布式锁的常见方式

一、我们为什么需要分布式锁? 在单机时代,虽然不需要分布式锁,但也面临过类似的问题,只不过在单机的情况下,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制...

太猪-YJ
今天
7
0
GitLab Docker 安装记录

安装环境 环境Centos7.4 64 1.拉取镜像文件 docker pull gitlab/gitlab-ce:latest 2.docker 安装 git.zddts.com 为访问域名或换成可以访问的IP docker run -d --hostname git.***.com -p ......

侠者圣
今天
0
0
EfficientNet: 再论 CNN 的网络规模

由于这里公式无法正常显示,所有内容以图片内容上传,如有需要,可提供 pdf 版。

爱吃草莓的皮卡丘
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部