shiro

springboot项目引入Swagger2步骤

陌路散爱 提交于 2020-03-19 22:40:11
3 月,跳不动了?>>> 第一步:增加jar包,引入最新版本2.9.2,访问的时候会报错java.lang.NumberFormatException,排除报错的包可以解决、也可以引入旧的jar包 <!-- 添加Swagger2依赖,用于生成接口文档 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> <!-- 报错信息:java.lang.NumberFormatException: For input string: “” 排除jar包引用旧的jar包解决问题 --> <exclusions> <exclusion> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> </exclusion> <exclusion> <groupId>io.swagger</groupId> <artifactId>swagger-models</artifactId> </exclusion> </exclusions> </dependency> <!-- 引用旧的jar 排除新jar包中的问题 start --

Angularjs 跨域请求

倖福魔咒の 提交于 2020-03-19 19:15:03
3 月,跳不动了?>>> 最近在做个项目,启用了Angularjs作为前端框架,后端则使用java服务端,引入了shiro框架作为权限管理。 理想是丰满的,现实是骨感的。 起先单域测试下一切Ok,进行二级域名跨域测试就出现问题了。 本文是基于单个顶级域名多个子域名的跨域 项目架构并非采用SpringMVC,以及SSH等主流框架,使用了自己公司的非主流框架,请各位同学自己纠正 遇到坑以及填坑 Access-Control-Allow-Origin,Access-Control-Allow-Headers,Access-Control-Allow-Methods 跨域请求的时候遇到了Access-Control-Allow-Origin问题,起先在Filter中是这么解决的,代码如下: response.addHeader("Access-Control-Allow-Origin","*"); response.addHeader("Access-Control-Allow-Headers", "accept, content-type"); response.addHeader("Access-Control-Allow-Methods", "DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT"); 但是考虑到Origin全开放有点不好吧

CAS单点登录(三)——多种认证方式

∥☆過路亽.° 提交于 2020-03-18 20:02:03
3 月,跳不动了?>>> 今天我们讲解一下CAS的多种认证方式,在上一篇文章中我们讲解了CAS基础服务的搭建,完成了CAS认证服务中心的简单部署,如果忘记了话,可以先去复习一下—— CAS单点登录(二)——搭建基础服务 。 CAS认证方式有多种,我们可以根据自己的需求来实现。在前一篇文章中搭建服务中我们其实就把CAS的JDBC认证方式讲解了,在读取用户名我们可以指定为从数据库的表中读取数据。 一、 JDBC认证 我们还是接着上次的代码进行讲解,你可以先下载先前的代码—— Chapter1 。上次在CAS基本服务搭建的代码中,我们只是简单的使用了一下,今天我们将完善更多的配置。 在前面我们设计了一个user表,表的字段为: 常用单向加密算法:MD5、SHA、HMAC。 一般我们常用的加密算法就这几种。在JDBC认证中我们也可以选择配置加密算法,加密算法一般为上面的三种,MD5、SHA、HMAC,加密类型为 NONE|DEFAULT|STANDARD|BCRYPT|SCRYPT|PBKDF2 这几种,我们在配置文件中选择加密类型,指定加密算法。 前面配置不变指定JDBC配置,后面的配置为密码加密策略,配置如下: ## # JDBC配置 # #查询账号密码SQL,必须包含密码字段 cas.authn.jdbc.query[0].sql=select * from user where

shiro单点登录的简单实现

主宰稳场 提交于 2020-03-18 16:23:26
某厂面试归来,发现自己落伍了!>>> 一 自定义Token令牌 MVC Controller 映射 sso 方法 /** * 单点登录(如已经登录,则直接跳转) * @param userCode 登录用户编码 * @param token 登录令牌,令牌组成:sso密钥+用户名+日期,进行md5加密,举例: * String secretKey = Global.getConfig("shiro.sso.secretKey"); * String token = Digests.md5(secretKey + userCode + DateUtils.getDate("yyyyMMdd")); * @param url 登录成功后跳转的url地址。 * @param relogin 是否重新登录,需要重新登录传递true * 例如:http://localhost/project/sso/{token}?url=xxx&relogin=true */ @RequestMapping(value = "sso/{userCode}/{token}") public String sso(@PathVariable String userCode, @PathVariable String token,@RequestParam(required=true) String url,

apache shiro org.apache.shiro.session.UnknownSessionException处理

ぃ、小莉子 提交于 2020-03-16 02:28:59
/** * 通过debug,F5一步步高度下去发现, * * 1.session过期时间太短,导致session过期找不到session报错, * 这里org.apache.shiro.web.session.mgt.DefaultWebSessionManager设置session时间 * globalSessionTimeout时间太短 这个单位是毫秒,建议设置长点时间 * 2.时间修改长后,还是报错,但是可以执行  SecurityUtils.getSubject().logout();程序执行到return "index";报错 * logout可以安全正确退出,session也可以删除,授权信息,认证信息也会被清除(debug进去可以看到的) * 但是如果直接return就会报错,如 * org.apache.shiro.session.UnknownSessionException: There is no session with id * debug进去发现,直接return程序还是会查找你刚才logout的sessionId,因为logout了,当然是找不到session了,理所当然报错 * 使用redirect就好了, * */ 来源: https://www.cnblogs.com/atyou/archive/2013/04/14/3021150.html

SSM

戏子无情 提交于 2020-03-13 09:12:25
1. 项目环境准备 1.1. 技术选型 整个项目使用的 SSM 框架 SpringMVC , Spring , MyBatis , MySql 数据库, Shiro 安全框架 1.2. 使用 Maven 创建 Web 项目 1.3. 引入 maven 项目 pom 文件依赖的和插件配置 Maven 的 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>cn.zj</groupId> <artifactId>logistics_system</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <spring.version>4

Spring Shiro CAS 客户端集成配置

二次信任 提交于 2020-03-12 12:05:31
如果不熟悉Shiro 和CAS的概念,可以在网上搜索一下这方面的资料, 在配置CAS客户端配置之前,首先要进行 CAS服务端配置 配置之前需要引入一些jar包具体如下: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-aspectj</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.2.0</version> </dependency> <dependency>

我的java历程中之shiro框架与spring整合

时光怂恿深爱的人放手 提交于 2020-03-12 11:02:46
任何框架要用首先要到pom依赖 。。。 在shiro.xml配置文件配置shiro相关信息 因为securityManager需要realm package com . ssq . realm ; import com . ssq . pojo . User ; import com . ssq . service . RoleService ; import com . ssq . service . UserService ; import org . apache . shiro . authc . * ; import org . apache . shiro . authz . AuthorizationInfo ; import org . apache . shiro . authz . SimpleAuthorizationInfo ; import org . apache . shiro . realm . AuthorizingRealm ; import org . apache . shiro . subject . PrincipalCollection ; import org . apache . shiro . util . ByteSource ; import org . springframework . beans . factory .

shiro动态刷新权限

 ̄綄美尐妖づ 提交于 2020-03-11 13:54:23
1. 代码 话不多说,直接上代码: import java.util.LinkedHashMap; import java.util.Map; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.filter.mgt.DefaultFilterChainManager; import org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver; import org.apache.shiro.web.servlet.AbstractShiroFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.qfx.demo.cache.MenuRoleCache; import com.qfx.demo.cache.MenuRoleCache2; import com.qfx.demo.vo.SysMenuRole; @Component public class ShiroPermissionSer

springcloud 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离 项目源码

浪尽此生 提交于 2020-03-11 13:47:22
1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器) freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块 2.多数据源: (支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源 3. 阿里数据库连接池 druid ,安全权限框架 shiro( 菜单权限和按钮权限 ) , 缓存框架 ehcache 4. 代码编辑器, 在线模版编辑,仿开发工具编辑器 5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节 6.websocket 及时站内信并声音提醒、实时在线管理、websocket及时刷新页面(完胜ajax技术) 7.redis存储分布式缓存 自windows redis 绿色版,方便开发者本地开发测试 ----------------------------------------------------------------------------------------------------------------- 服务介绍 ( 各个服务单独运行,高可用、低耦合 ) 一:springcloud服务 ---------------------------------------------------------------------------------