securitymanager

Shiro学习笔记<1>入门--Hello Shiro

白昼怎懂夜的黑 提交于 2019-12-02 19:43:06
Apache Shiro是Apache的一个安全框架.对比Spring Security,可能没有Spring Security功能多,但是在实际并不需要那么重的东西.shiro简小精悍.大多项目绰绰有余.(JBOSS好像也有个什么安全框架...名字忘了,去JBOSS官网找了半天也没找到,找到个jboss sso好像是单点登录方面使用的安全框架) Shiro主要功能有认证,授权,加密,会话管理,与Web集成,缓存等. 1.shiro入门测试 新建一个简单的Maven项目,我们只是使用Junit和shiro-core包.POM最后是如下代码: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.credo</groupId> <artifactId>shiro-study</artifactId> <version>0.0.1

springboot整合Shiro功能案例

a 夏天 提交于 2019-12-02 19:00:51
Shiro 核心功能案例讲解 基于SpringBoot 有源码 从实战中学习Shiro的用法。本章使用SpringBoot快速搭建项目。整合SiteMesh框架布局页面。整合Shiro框架实现用身份认证,授权,数据加密功能。通过本章内容,你将学会用户权限的分配规则,SpringBoot整合Shiro的配置,Shiro自定义Realm的创建,Shiro标签式授权和注解式授权的使用场景,等实战技能,还在等什么,快来学习吧! 技术:SpringBoot,Shiro,SiteMesh,Spring,SpringDataJpa,SpringMVC,Bootstrap-sb-admin-1.0.4 说明:前端使用的是Bootstrap-sb-admin模版。注意文章贴出的代码可能不完整,请以github上源码为主,谢谢! 源码: https://github.com/ITDragonBl... 喜欢的朋友可以鼓励(star)下。 效果图: Shiro 功能介绍 四个核心:登录认证,权限验证,会话管理,数据加密。 六个支持:支持WEB开发,支持缓存,支持线程并发验证,支持测试,支持用户切换,支持"记住我"功能。 • Authentication :身份认证,也可以理解为登录,验证用户身份。 • Authorization :权限验证,也可以理解为授权,验证用户是否拥有某个权限

面试项目经验准备

假装没事ソ 提交于 2019-12-02 16:09:05
2. 什么是REST REST不是”rest”这个单词,而是几个单词的缩写 REpresentation State Transfer,直接翻译:表现层状态转移,这个翻译不太好理解。网上找到一个比较通俗的说法是:URL定位资源,用HTTP动词(GET,POST,DELETE,PUSH等)描述操作 3. 什么是Restful 基于REST构建的API就是Restful风格。 4. 为什么使用Restful (1). 我们团队之前一直使用JSP作为表现层,但是这样的技术限制了我们的开发效率,我们需要将前端组给出静态html页面转换为jsp页面,并且写一些js代码,甚至是一些前端代码。这样会严重限制我们的开发效率,也不能让后端组专注于业务功能的开发,所以目前越来越多的互联网公司开始实行前后端分离。 (2). 近年随着移动互联网的发展,各种类型的客户端层出不穷,Restful可以通过一套统一的接口为PC、微信(H5)、IOS和Android提供服务,这样的接口不需要前端样式,只提供数据。Restful架构如下: 举一个实际的例子: 比如用户愚公币交易记录列表, PC网站里需要这个功能, Android App里面也需要这个功能, IOS App里面也需要这个功能。 按照我们现有的开发模式,我们就要写了2套(PC和APP端)获取用户说说列表的功能。也就是需要在2个地方都写连接数据库配置信息

简单的shirod例子

烂漫一生 提交于 2019-12-02 11:31:22
有几种方式其他的记不住了,这里把我常用的一种介绍一下。 shiro这个功能对应五张数据库表 一个人可以有多个角色,一个角色可以有多个权限 先写一个配置文件 <?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:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置自定的Realm类 --> <bean id="myRealm" class="com.zhiyou.shiro.realm.MyRealm"/> <!-- 配置SecurityManager的bean --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="myRealm"/> <

shiro入门笔记之第一个demo创建

回眸只為那壹抹淺笑 提交于 2019-12-02 11:01:39
前言 看到这篇文章之前,可能很多小伙伴都没听过shiro,那么shiro是什么呢?shiro是Apache基金会下一个非常有名的开源项目(项目官网: http://shiro.apache.org/ ),官网是这样介绍的: Apache Shiro™是一个功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序—从最小的移动应用程序到最大的Web和企业应用程序。 接下来就让我们近距离地了解shiro吧。 一、创建maven项目 1.选择maven模板,填写项目信息 选择maven,这里我选择的模板是quickstart 填写项目信息 设置项目maven配置,如果没有特殊设置,直接下一步 设置项目保存路径 maven项目到此创建完成,下面开始shiro demo 二、编写shiro demo 1.导入依赖包 导入如下依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.6</version> </dependency> 2.编写java package io.github.syske;/* * Licensed to the Apache Software

springboot shiro 基本整合

无人久伴 提交于 2019-12-02 02:41:30
springboot shiro 基本整合 https://www.w3cschool.cn/shiro/c52r1iff.html http://shiro.apache.org/configuration.html#Configuration-ProgrammaticConfiguration 步骤 依赖和配置 定义 org.apache.shiro.realm.Realm 使用 IniRealm 定义 org.apache.shiro.mgt.SecurityManager 定义 org.apache.shiro.spring.web.ShiroFilterFactoryBean 指定登录页面 shiroFilterFactoryBean.setLoginUrl("/login.html") 放行登录相关接口和静态资源 定义登录Controller Map<String, String> map = new HashMap<>(); map.put("/login/pc", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(map); 依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring<

maven下的shiro的demo1,数据库查询用户

て烟熏妆下的殇ゞ 提交于 2019-12-01 22:57:11
demo1主要完成以下测试,在web环境下,输入用户名和密码,去数据库找对应的信息,如果有,转到成功页面,如果失败转到错误页面。用到的技术主要有spring,springmvc,shiro。 一、在spring的配置文件中,生成realme的类文件。在这个类中,继承自AuthenticatingRealm,实现查询数据库的功能,然后返回SimpleAuthenticationInfo类型的信息。这个地方与springmvc中映射登录的地方对应。 二、在登录的地方,用注解接受参数,接受用户名和密码,然后生成Subject对象,然后用用户名和密码,生成token,用subject对象的login(token)尝试登录,如果登录成功,转到成功页面,否则去失败页面。说的简单一点,一个是realme的类,一个是webmvc的login(token)尝试,这两者的联系,是由框架完成。 以下为代码 pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0

SpringBoot集成Shiro三个渐进式项目以及Shiro功能介绍

百般思念 提交于 2019-12-01 20:26:24
欢迎点击访问我的瞎几把整站点:复制未来 文章目录 spring-boot-shiro 项目说明 spring-boot-shiro-hello-world spring-boot-shiro-mysql spring-boot-shiro-redis GitHub开源地址 Shiro介绍 使用Shiro Shiro介绍参考博文 参与贡献 首先,本篇博客的目的的重点是这里介绍的三个SpringBoot集成Shiro的项目,从简入繁,从最简单的实例讲解起,到最后的继承Redis,动态更新权限等等 在本篇博客的后面,也介绍了一些Shiro的基础知识点。例如Shiro的四大基石等等 spring-boot-shiro 项目说明 spring-boot-shiro-hello-world springboot集成shiro的入门项目 使用注解配置拦截以及使用ShiroFilterFactoryBean进行配置拦截器 使用静态配置权限,异常跳转等 spring-boot-shiro-mysql springboot集成shiro,使用mysql数据库,动态从数据库读取权限配置 并且更新数据库的权限表,不用重启项目即可进行更新shiro权限过滤器 前端页面使用freemarker引擎模板渲染,根据权限动态显示菜单 全局异常的拦截处理 使用Shiro进行盐的获取以及密码进行MD5加密存储

shiro教程(2)- shiro介绍

自作多情 提交于 2019-12-01 20:25:34
shiro教程系列 shiro教程(3)-shiro授权 1 shiro 介绍 1.1 什么是 shiro Shiro 是 apache 旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。 1.2 为什么要学 shiro 既然 shiro 将安全认证相关的功能抽取出来组成一个框架,使用 shiro 就可以非常快速的完成认证、授权等功能的开发,降低系统成本。 shiro 使用广泛, shiro 可以运行在 web 应用,非 web 应用,集群分布式应用中越来越多的用户开始使用 shiro 。 java 领域中 spring security( 原名 Acegi) 也是一个开源的权限管理框架,但是 spring security 依赖 spring 运行,而 shiro 就相对独立,最主要是因为 shiro 使用简单、灵活,所以现在越来越多的用户选择 shiro 。 1.3 Shiro 架构 1.3.1 Subject Subject 即主体,外部应用与 subject 进行交互, subject 记录了当前操作用户,将用户的概念理解为当前操作的主体,可能是一个通过浏览器请求的用户,也可能是一个运行的程序。 Subject 在 shiro 中是一个接口,接口中定义了很多 认证授 相关的方法

springboot整合shiro-shiro介绍(一)

风格不统一 提交于 2019-12-01 20:25:19
Shiro 介绍 Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与Spring Security 一样都是做一个权限的安全框架,但是与Spring Security 相比,在于 Shiro 使用了比较简单易懂易于使用的授权方式。shiro属于轻量级框架,相对于security简单的多,也没有security那么复杂。所以我这里也是简单介绍一下shiro的使用。 Shiro的架构 Authentication(认证), Authorization(授权), Session Management(会话管理), Cryptography(加密)被 Shiro 框架的开发团队称之为应用安全的四大基石。 Authentication(认证):用户身份识别,通常被称为用户“登录” Authorization(授权):访问控制。比如某个用户是否具有某个操作的使用权限 Session Management(会话管理):特定于用户的会话管理,甚至在非web 或 EJB 应用程序 Cryptography(加密):在对数据源使用加密算法加密的同时,保证易于使用 同时Shiro还提供了其他特性来在不同的应用程序环境下使用强化以上的四大基石: Web支持:Shiro 提供的 web 支持 api