shiro

权限管理--shiro的简单使用

寵の児 提交于 2020-02-25 23:43:22
权限管理–shiro的简单使用 文章目录 权限管理--shiro的简单使用 权限管理 1、什么是权限管理 2、什么是身份认证 3、用户名和密码身份认证的流程 4、关键对象 5、授权流程是什么 6、基本的权限模型 7、通用的权限模型 7.1、表里面到底都有哪些字段 8、目前市场上通用的权限管理框架 shiro的简单使用 9、shiro是什么 10、shiro能干什么 11、shiro的整体架构是什么 11.1、shiro中常见的名词解释 12、shiro的第一个helloworld程序 12.1、导包 12.2、在resource下创建模拟数据库的文件 12.3、编写测试代码完成用户的认证 13、自定义realm的实现 13.1、导入依赖 13.2、创建实体类 13.3、自定义realm 13.4、书写配置 13.5、测试 权限管理 1、什么是权限管理 权限管理属于安全管理的范畴、简单的说就是对用户的访问进行控制 2、什么是身份认证 判断一个用户 是否是合法用户的这个处理过程就叫做身份认证。 最常用的是通过简单的用户名和密码 进行身份认证、如果你的用户名和密码在数据库中存在 、那么说明你是合法的,否则不合法 3、用户名和密码身份认证的流程 4、关键对象 Subject:主体 访问该系统的用户、程序、在咋们的上面进行认证的都称为主体 简单的说、谁去认证那么这个主题就是谁

shiro 权限 前后分离配置

喜你入骨 提交于 2020-02-25 21:24:09
前阵子在前后端分离项目中集成shiro项目,折腾了一下子,参考了网上一些博客,发现大多都还是之前传统的模式,并不适用于前后端分离结构。今天抽空整理了下demo,方便以后使用以及后来人参考。 一、springboot中集成shiro框架 关于shior框架的介绍,需要引入相关jar如下: <!--shiro核心jar from www.1b23.com--> < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-spring </ artifactId > < version > 1.4.0 </ version > </ dependency > <!--实现session共享。缓存等--> < dependency > < groupId > org.crazycake </ groupId > < artifactId > shiro-redis </ artifactId > < version > 3.2.2 </ version > </ dependency > < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-data

Shiro简单使用

99封情书 提交于 2020-02-25 20:01:13
Shiro 1、简介 Apache Shiro是一个Java的安全(权限)框架。 Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。 Shiro可以完成 认证、授权、加密、会话管理、Web集成、缓存等。 下载地址: https://shiro.apache.org/ 2、运行原理 Subject :Subject其实代表的就是当前正在执行操作的用户,只不过因为“User”一般指代人,但是一个“Subject”可以是人,也可以是任何的第三方系统,服务账号等任何其他正在和当前系统交互的第三方软件系统。 SecurityManager :安全管理器。即 所有的安全有关的操作都会与SecurityManager交互,并且它管理着所有的subject 。 Realm :可以有一个或者多个Realm,可以认为是安全实体数据源,即用于获取安全实体的。 3、Shiro过滤器 Shiro内置过滤器,可以实现权限相关的拦截器。 常用的过滤器 说明 anon 无需认证(登陆)就可以访问 authc 必须认证才可以访问 user 如果使用rememberMe的功能可以直接访问 perms 拥有对某个资源的权限才可以访问 roles 拥有某个角色才可以访问 4、Springboot整合Shiro 4.1、添加依赖 <!--mysql依赖-->

面试时这么问你Spring Boot,你能答对几个?

空扰寡人 提交于 2020-02-25 18:27:51
导语: Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 做 Java 开发,没有人敢小觑 Spring Boot 的重要性,现在出去面试,无论多小的公司 or 项目,都要跟你扯一扯 Spring Boot,扯一扯微服务,不会?没用过? Sorry ,我们不合适! 今天我就给大家整理了 16 道高频 Spring Boot 面试题,希望能够帮助到各位准备寻找新的工作机会的小伙伴。觉得有收获的话,可以帮忙转发、收藏一下 1.什么是 Spring Boot ? 传统的 SSM/SSH 框架组合配置繁琐臃肿,不同项目有很多重复、模板化的配置,严重降低了 Java 工程师的开发效率,而 Spring Boot 可以轻松创建基于 Spring 的、可以独立运行的、生产级的应用程序。通过对 Spring 家族和一些第三方库提供一系列自动化配置的 Starter,来使得开发快速搭建一个基于 Spring 的应用程序。 Spring Boot 让日益臃肿的 Java 代码又重回简洁。在配合 Spring Cloud 使用时,还可以发挥更大的威力。 2.Spring Boot的优点有哪些? Spring Boot的优点如下? 减少开发,测试时间和努力。

SpringBoot整合shiro(一)

◇◆丶佛笑我妖孽 提交于 2020-02-25 09:12:37
项目结构 spring和shiro的整合依赖 < dependency > < groupId > org . apache . shiro < / groupId > < artifactId > shiro - spring < / artifactId > < version > 1.3 .2 < / version > < / dependency > < dependency > < groupId > org . apache . shiro < / groupId > < artifactId > shiro - core < / artifactId > < version > 1.3 .2 < / version > < / dependency yml文件配置 server : port : 8081 spring : application : name : ihrm - company #指定服务名 datasource : driver - class - name : com . mysql . jdbc . Driver url : jdbc : mysql : / / localhost : 3306 / shiro_db ? useUnicode = true & characterEncoding = utf8 username : root

Shiro框架01

馋奶兔 提交于 2020-02-25 02:02:29
Shiro框架01 1.Shiro简介 [1]为什么要学习Shiro A、 目前遇到的问题: 使用RABC进行角色访问控制的时候,代码书写起来比较麻烦。 目前学习的写的操作代码整体不太安全。 B、 解决方案: Spring securing :可以解决以上问题 缺点: 基于Spring之上的,局限性比较大 Shiro :可以用在JavaEE、JavaSE和分布式项目中。 什么是Shiro Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理 身份认证 , 授权 , 企业会话管理 和 加密 。 Shior官网:http://shiro.apache.org/ [2]Shiro中的体系组成 A、Authentication:身份验证,就是我们平时所做的登录。 B、Authorization:授权,赋予角色不同的菜单、功能。 C、Session Management:管理登录用户的信息。 D、Cryptography:加密技术。MD5加密算法等。 a、Web Support:Shiro 对 web项目的支持 b、Caching:缓存 可以安全快速的操作 c、Concurrency:Apache Shiro 利用它的并发特性来支持多线程应用程序。 d、Testing:测试。 e、Run As:可以实现一个用户被允许的情况下,使用另一个用户访问 f、Remember

shiro认证和授权

风格不统一 提交于 2020-02-24 18:35:20
一、shiro基础概念 Authentication :身份认证 / 登录,验证用户是不是拥有相应的身份; Authorization :授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; Session Manager :会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography :加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support :Web 支持,可以非常容易的集成到 Web 环境; Caching :缓存,比如用户登录后,其用户信息、拥有的角色 / 权限不必每次去查,这样可以提高效率; Concurrency :shiro 支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去; Testing :提供测试支持; Run As :允许一个用户假装为另一个用户(如果他们允许)的身份进行访问; Remember Me :记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。 记住一点,Shiro 不会去维护用户、维护权限;这些需要我们自己去设计 / 提供

Shiro/Stormpath via REST

梦想的初衷 提交于 2020-02-24 15:59:08
问题 I'm new to Shiro. We are attempting to use Shiro with Stormpath. I've been trying to dissect the examples to come up with a solution to what I want to do, but I'm unsuccessful so far. For now, I'm simply trying to create REST services to do what I want, and I'll tie a real client in later. This is what I'm trying to achieve as my first step: I want to have a client hit a REST endpoint (login) on my server. My server would authenticate, and return a JWT to the client. This JWT would then be

关于shiro

北慕城南 提交于 2020-02-22 17:53:16
shiro作为一个功能强大而且可靠的安全框架拥有很多Api,结合spring可以很方便的实现有关shiro的使用。 这是关于shiro内部的架构图官网上的。下面做个简单的介绍: subject:主体,可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。 securityManager:安全管理器,主体进行认证和授权都 是通过securityManager进行。 authenticator:认证器,主体进行认证最终通过authenticator进行的。 authorizer:授权器,主体进行授权最终通过authorizer进行的。 sessionManager:web应用中一般是用web容器对session进行管理,shiro也提供一套session管理的方式。 SessionDao: 通过SessionDao管理session数据,针对个性化的session数据存储需要使用sessionDao。 cache Manager:缓存管理器,主要对session和授权数据进行缓存,比如将授权数据通过cacheManager进行缓存管理,和ehcache整合对缓存数据进行管理。 realm:域,领域,相当于数据源,通过realm存取认证、授权相关数据。 下面时一些shiro提供的方法 可继承重写 Subject Subject即主体,外部应用与subject进行交互

SpringBoot整合Shiro (二)

本秂侑毒 提交于 2020-02-22 17:47:10
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。相比较Spring Security,shiro有小巧、简单、易上手等的优点。所以很多框架都在使用shiro。 Shiro包含了三个核心组件:Subject, SecurityManager 和 Realms。 Subject 代表了当前用户的安全操作。 SecurityManager 则管理所有用户的安全操作。 它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。 Realm 充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。 也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。 下面通过示例来演示SpringBoot如何来整合Shiro 1、创建项目ShiroDemo 2、配置POM,添加SpringBoot以及Shiro依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <parent> <groupId