shiro

springboot整合shiro之HashedCredentialsMatcher

淺唱寂寞╮ 提交于 2020-03-09 12:53:50
Shiro 提供了用于加密密码和验证密码服务的 CredentialsMatcher 接口,而 HashedCredentialsMatcher 正是 CredentialsMatcher 的一个实现类。写项目的话,总归会用到用户密码的非对称加密,目前主流的非对称加密方式是 SHA,以及在 SHA上的加盐处理,而 HashedCredentialsMatcher 也允许我们指定自己的算法和盐。 ShiroConfig配置文件: @Bean public HashedCredentialsMatcher hashedCredentialsMatcher() { HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher(); //加密方式 hashedCredentialsMatcher.setHashAlgorithmName("SHA-512"); //加密次数 hashedCredentialsMatcher.setHashIterations(2); //存储散列后的密码是否为16进制 //hashedCredentialsMatcher.isStoredCredentialsHexEncoded(); return hashedCredentialsMatcher; }

Shiro和SpringMVC集成

久未见 提交于 2020-03-08 17:59:51
源代码:https://gitee.com/jiaodacailei/shiro-springmvc-demo.git 核心概念 Shiro是一个Java权限框架,与之相对的有一个spring的框架:Spring Security 创建Maven-web项目 配置pom.xml 参考: \shiro-web\pom.xml 配置web.xml 配置spring/springmvc/shiro,重点: 配置spring src/main/resources/applicationContext.xml src/main/resources/spring-shiro-web.xml 配置springmvc 参考:springmvc-servlet.xml 登录页和首页加载 创建main.jsp和login.jsp MainController映射 认证 shiro的内部认证流程如下,如果看不明白,可以先略过,后面例子完成后再看。 现在,我们要完成登录表单post提交到/login时,让shiro帮我们完成认证。当然,我们仍然需要编写认证的逻辑,在Realm中完成。 在spring的shiro配置中,定义Realm src/main/resources/spring-shiro-web.xml 需要在securityManager中注入自定义realm,此处为userRealm

Thymeleaf中使用Shiro

≯℡__Kan透↙ 提交于 2020-03-06 18:09:53
根据用户权限显示不同页面: 1.thymeleaf扩展shiro <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- thymeleaf --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><!-- shiro与spring整合 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.2</version> </dependency><!--mybatis--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.9</version> </dependency>

Shiro -- (七) JSP标签

最后都变了- 提交于 2020-03-06 17:26:42
JSP 标签 Shiro 提供了 JSTL 标签用于在 JSP/GSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。 导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> guest 标签 <shiro:guest> 欢迎游客访问,<a href="${pageContext.request.contextPath}/login.jsp">登录</a> </shiro:guest> 用户没有身份验证时显示相应信息,即游客访问信息。 user 标签 <shiro:user> 欢迎访问,<a href="${pageContext.request.contextPath}/login.jsp">登录</a> </shiro:user> 用户已经身份验证 / 记住我登录后显示相应的信息。 authenticated 标签 <shiro:authenticated> 用户[<shiro:principal/>]已身份验证通过 </shiro:authenticated>  用户已经身份验证通过,即 Subject.login 登录成功,不是记住我登录的。 notAuthenticated 标签 <shiro:notAuthenticated> 未身份验证(包括记住我) </shiro

shiro

这一生的挚爱 提交于 2020-03-06 05:05:34
shiro官网: http://shiro.apache.org 1, 什么是shiro Apache Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成: 认证 、 授权 、 加密 、 会话管理 、 与Web 集成 、 缓存 等。 2,为什么要学shiro 1,既然shiro将安全认证相关的功能抽取出来组成一个框架,使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。 2,shiro使用广泛,shiro可以运行在web应用,非web应用,集群分布式应用中越来越多的用户开始使用shiro。 java领域中spring security(原名Acegi)也是一个开源的权限管理框架,但是spring security依赖spring运行,而shiro就相对独立,最主要是因为shiro使用简单、灵活,所以现在越来越多的用户选择shiro。 3,基本功能 1,Authentication 身份认证/登录,验证用户是不是拥有相应的身份; 2, Authorization 授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用 户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用 户对某个资源是否具有某个权限;

springboot windows10风格 activiti 整合项目框架源码 shiro 安全框架 druid 数据库连接池

自闭症网瘾萝莉.ら 提交于 2020-03-05 13:48:00
此项目为Springboot工作流版本 windows 风格,浏览器访问操作使用,非桌面应用程序。 1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器) freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块 2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源 3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限), 缓存框架 ehcache 4.代码编辑器,在线模版编辑,仿开发工具编辑器 5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节 6.websocket及时站内信并声音提醒、实时在线管理、websocket及时刷新页面(完胜ajax技术) 工作流模块 1. 模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2. 流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 3. 运行中流程 :查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人 4. 历史的流程 :查看流程信息、流程用时、流程状态、查看任务发起人信息 5. 待办任务 :查看本人个人任务以及本角色下的任务、办理、驳回、作废、指派一下代理人 6. 已办任务 :查看自己办理过的任务以及流程信息、流程图

Shiro框架缓存相关

给你一囗甜甜゛ 提交于 2020-03-03 10:13:37
shiro框架使用缓存 解决问题:登陆之后每次访问页面都要进行认证(消耗性能),使用缓存技术,只需要认证一次,即可多次访问 1.pom文件中导入依赖包 <!--导入缓存所需要的包--> < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-cache </ artifactId > </ dependency > < dependency > < groupId > net.sf.ehcache </ groupId > < artifactId > ehcache </ artifactId > < version > 2.10.4 </ version > </ dependency > < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-ehcache </ artifactId > < version > 1.4.0 </ version > </ dependency > 2.resource目录中导入ehcahe.xml文件 <?xml version="1.0" encoding="UTF-8"?> < ehcache

Java权限框架Shiro过滤连源码解读

不羁的心 提交于 2020-03-02 18:38:41
由于公司要求我对我司的框架的权限模块进行整理,所以最近看了Shiro这个框架的源码,里面有一些思想还是非常值得学习的,记录一下 入口 官网提供了很多种权限的demo,提供web、spring支持、AspectJ、Guice等,由于笔者技术有限,那么我先从手洗的Spring开始说 Spring 先送上官网的配置demo spring shiro xml <!-- Define the realm you want to use to connect to your back-end security datasource: --> <bean id="myRealm" class="..."> ... </bean> <bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager"> <!-- Single realm app. If you have multiple realms, use the 'realms' property instead. --> <property name="realm" ref="myRealm"/> </bean> 首先说一下 realm ,他是获取一个用户的信息,其中里面包括权限,角色等信息, securityManager 为管理整个权限的对象

1.osframe后台开源框架架构概述

拥有回忆 提交于 2020-03-02 18:35:02
开源项目名称: osframe管理系统 托管地址: http://git.oschina.net/haizicq/osframe 主要技术: spring mvc、spring、hibernate、angular js、seajs、bootstrap、shiro 框架介绍: 本框架是一个基础后台开发框架,基于springmvc+spring+hibernate搭建,前端采用angular js+sea js +bootstrap展现,基于shiro的权限管理和登陆控制。基础框架中包含了用户管理、权限管理等基础模块,提供了简单的首页门户,可以快速的实现新项目的搭建。 框架特色: 支持电脑和手机界面的自动智能切换。 技术交流群:330710190(OSFrame技术交流群) 欢迎大家加入,共同探讨使用过程中的问题。 框架基本构思: 1、基本思路:使用模块化的思想来开发项目,按模块进行开发,以便于代码管理和移植。 2、基础增删改查封装:子模块中的类继承基础模块中封装的基础方法就能直接实现基础的增删改查功能 3、权限注解:通过注解的方式实现功能权限控制,直接开发中实现,而不必在项目实施中去纠结功能url配置 4、设备自适应展示:前端页面自动适配设备屏幕尺寸展示,只需要引入公共的页面头部和尾部jsp片段 5、模块耦合处理:为了减少模块间的耦合关系将一些基础的功能抽象为接口,由对应的子模块实现

3.osframe框架权限开发说明

纵饮孤独 提交于 2020-03-02 18:34:51
开源项目名称: osframe管理系统 托管地址: http://git.oschina.net/haizicq/osframe 主要技术: spring mvc、spring、hibernate、angular js、seajs、bootstrap、shiro 框架介绍: 本框架是一个基础后台开发框架,基于springmvc+spring+hibernate搭建,前端采用angular js+sea js +bootstrap展现,基于shiro的权限管理和登陆控制。基础框架中包含了用户管理、权限管理等基础模块,提供了简单的首页门户,可以快速的实现新项目的搭建。 框架特色: 支持电脑和手机界面的自动智能切换。 技术交流群: 330710190(OSFrame技术交流群) 欢迎大家加入,共同探讨使用过程中的问题。 1、权限基本原理 权限基于shiro实现,采用注解的方式对方法标准功能权限,待发布后通过手动导入到系统中,而无需一个个功能权限的配置。然后将功能权限配置到角色上。 权限实现的目标:每个模块用于默认权限和管理员权限,模块下的所有实体拥有增删改查统一的权限控制,也可以对模块下单个实体设置独立的增删改查权限控制,还可以设置增删改查为同一个权限一起控制。 2、权限定义 在web层的contorller类上增加@RequiresClassAuth以及在方法上增加