- 浏览: 261862 次
文章分类
- 全部博客 (96)
- 经验 (53)
- 小制作 (6)
- 人生 (1)
- 技术选型 (2)
- 技术学习 (2)
- memo (1)
- 系统架构 (2)
- 经验 Windows (3)
- HP-UX (1)
- Ubuntu (1)
- java7 (1)
- tomcat7 (1)
- linux (2)
- AIX (1)
- mysql (1)
- intellij (2)
- eclipse (1)
- HTML (1)
- spring (4)
- shiro (1)
- java (6)
- jetty (1)
- jackson (1)
- javascript (1)
- spring-boot (2)
- rust (1)
- tomcat (1)
- spring-cloud (1)
- ffmpeg (1)
最新评论
-
安静听歌:
你好,请问你是如何控制他们的启动顺序的呢,手动控制吗?
spring cloud 配置中心和服务注册中心启动顺序 -
dwangel:
zjturn 写道想请教个问题:第二种方法,首先配置logou ...
spring mvc中 shiro logout 配置方式 -
zjturn:
想请教个问题:第二种方法,首先配置logout的bean,然后 ...
spring mvc中 shiro logout 配置方式 -
dwangel:
czltx224 写道加个参数就OK 了
<proper ...
Hessian调用出错 -
czltx224:
加个参数就OK 了<property name=&quo ...
Hessian调用出错
经过查找论坛和分析源码,确认了是在ShiroHttpServletResponse里加上的。
因此extends,覆盖相应方法,把添加JSESSIONID部分去掉。
扩展ShiroFilterFactoryBean, 使用新建的MyShiroHttpServletResponse。
在shiro相关配置里替换成自己的MyShiroFilterFactoryBean(嗯,我是shiro和spring组合用的)
因此extends,覆盖相应方法,把添加JSESSIONID部分去掉。
public class MyShiroHttpServletResponse extends ShiroHttpServletResponse { public MyShiroHttpServletResponse(HttpServletResponse wrapped, ServletContext context, ShiroHttpServletRequest request) { super(wrapped, context, request); } @Override protected String toEncoded(String url, String sessionId) { if ((url == null) || (sessionId == null)) return (url); String path = url; String query = ""; String anchor = ""; int question = url.indexOf('?'); if (question >= 0) { path = url.substring(0, question); query = url.substring(question); } int pound = path.indexOf('#'); if (pound >= 0) { anchor = path.substring(pound); path = path.substring(0, pound); } StringBuilder sb = new StringBuilder(path); // if (sb.length() > 0) { // session id param can't be first. // sb.append(";"); // sb.append(DEFAULT_SESSION_ID_PARAMETER_NAME); // sb.append("="); // sb.append(sessionId); // } sb.append(anchor); sb.append(query); return (sb.toString()); } }
扩展ShiroFilterFactoryBean, 使用新建的MyShiroHttpServletResponse。
public class MyShiroFilterFactoryBean extends ShiroFilterFactoryBean { @Override public Class getObjectType() { return MySpringShiroFilter.class; } @Override protected AbstractShiroFilter createInstance() throws Exception { SecurityManager securityManager = getSecurityManager(); if (securityManager == null) { String msg = "SecurityManager property must be set."; throw new BeanInitializationException(msg); } if (!(securityManager instanceof WebSecurityManager)) { String msg = "The security manager does not implement the WebSecurityManager interface."; throw new BeanInitializationException(msg); } FilterChainManager manager = createFilterChainManager(); PathMatchingFilterChainResolver chainResolver = new PathMatchingFilterChainResolver(); chainResolver.setFilterChainManager(manager); return new MySpringShiroFilter((WebSecurityManager) securityManager, chainResolver); } private static final class MySpringShiroFilter extends AbstractShiroFilter { protected MySpringShiroFilter(WebSecurityManager webSecurityManager, FilterChainResolver resolver) { super(); if (webSecurityManager == null) { throw new IllegalArgumentException("WebSecurityManager property cannot be null."); } setSecurityManager(webSecurityManager); if (resolver != null) { setFilterChainResolver(resolver); } } @Override protected ServletResponse wrapServletResponse(HttpServletResponse orig, ShiroHttpServletRequest request) { return new MyShiroHttpServletResponse(orig, getServletContext(), request); } } }
在shiro相关配置里替换成自己的MyShiroFilterFactoryBean(嗯,我是shiro和spring组合用的)
<bean id="shiroFilter" class="com.rudong.outsource.hulu.util.shiro.MyShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager"/> <!-- override these for application-specific URLs if you like:--> <property name="loginUrl" value="/loginform"/> <property name="successUrl" value="/"/> <property name="unauthorizedUrl" value="/unauthed"/> <!-- ..... --> </bean>
发表评论
-
ai文件到swf文件
2019-05-28 23:03 682朋友有个需求,把 ai 文件里的图片 替换 一个 swf 里图 ... -
空格导致spring boot自动配置类找不到
2018-04-08 11:06 597最近在做基于spring boot的复用模块开发。 (版本 1 ... -
maven mirror 设置错导致无法访问私有库
2018-04-04 12:35 744最近为了提高开发效率,整理了一些spring boot的自注册 ... -
jquery 1.11.0 post 在ie8 上不工作
2017-10-21 13:52 597帮朋友看一个问题 $.post在ie8 下不工作, 查了半天 ... -
Java 获取一个机器的本地地址
2017-03-27 10:18 813public class IpDetector { ... -
mongodb 的 inplace update
2016-12-20 15:05 779嵌套对象为 hash对象时: db.getCollectio ... -
jackson反序列化deserialize范型
2016-11-01 09:43 1051最近写调用restful接口的程序,需要反序列化json。用了 ... -
配置Mac OS 下UI程序环境变量的方法
2016-10-20 19:51 721找了半天,还是stackoverflow 靠谱 http:/ ... -
2 spring webapplicationinitializers detected on classpath
2016-10-18 14:31 6535最近在学用 spring boot 做项目,碰到一个问题,to ... -
网文阅读 杂谈
2016-09-03 02:44 438最近才看到王银的《编程的宗派》 文章后面有不少评论表示膜拜的 ... -
使用AOP把spring mvc controller方法的参数输出到日志
2015-11-18 16:40 6692使用AOP把spring mvc controller方法的参 ... -
命令行装android idk
2015-05-22 17:16 871先列出sdk 和相应 编号(这里用的是国内代理,现在有时候可以 ... -
springmvc的messageConvert是按照method的参数去启动的
2015-04-28 16:39 858最近在研究怎么在springmvc中集成使用protobuf。 ... -
用type属性避免点击button标签元素导致form提交
2015-01-19 15:52 402如果在form里使用 <button> 标签 会导 ... -
Intellij UI designer 经验x1
2014-09-09 14:36 698使用Intellij的UI designer 创建了一个for ... -
AIX 程序引用库时出ld: 0706-006的一种情况的解决
2014-03-31 14:35 2233公司的产品涉及到AIX 在CI集成时,一个模块B怎么也连不上另 ... -
移动jar到指定目录,原地建符号链接的bash指令
2014-03-10 11:21 743find . -name "*.jar" ... -
java7,jsp的el表达式使用interface无法被解析问题
2014-03-05 10:01 758使用的jdk是oracle JDK 1.7.0_51 tomc ... -
解决locale: Cannot set LC_CTYPE
2013-11-28 18:10 2063执行 sudo /usr/share/locales/inst ... -
Linux下tar包中长文件名在HP unix下丢失问题
2013-11-28 14:07 2588公司产品有个组件需要在HP unix下编译。 用了CI做集成 ...
相关推荐
shiro动态URL权限控制 用过Spring Security的朋友应该比较熟悉对URL进行全局的权限控制,即访问URL时进行权限匹配;如果没有权限直接跳到相应的错误页面。Shiro也支持类似的机制,不过需要稍微改造下来满足实际需求...
本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能
shiro登录验证实例,下载包虽然是web_exception_project.zip,但是确实是shiro登录验证实例,请放心下载,另外,实例详情请访问博主博客:http://blog.csdn.net/u013142781
NULL 博文链接:https://vti-iteye.iteye.com/blog/1963397
Java shiro登录验证实例。 shiro登录验证实例,下载包虽然是web_exception_project.zip,但是确实是shiro登录验证实例,请放心下载,另外,实例详情请访问博主博客:http://blog.csdn.net/u013142781 shiro
权限管理原理知识,权限管理解决方案,基于url的权限管理、shiro介绍、shiro认证
shiro+cas实现单点登录 示例代码,送源码分析url:http://note.youdao.com/noteshare?id=a83380ee8fc6913162042e865689844e&sub=CD905CCCE4134A159326DC2DFC1AF268
SpringBoot整合Shiro后实现免密登录 1,说明一下步骤,需要在原来基础新增三个文件 2,新增CustomToken,重写UsernamePasswordToken免密登录调用方法和密码登录调用方法都在里面。 3,新增...
自己做的一个shiro登录校验、权限拦截的demo
shiro控制使用跳转链接前必须登录 (这里我去除了shiro权限控制 一般项目中不用shiro权限控制功能)
实现了shiro安全登录,包括密码加密匹配和登录失败次数限制的功能
spring整合shirospring-data-redis和spring-session-data-redis通过shiro实现单点登录
spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...
shiro管理多登录入口配置,手机端登录与网页端登录两个的shiro配置,两个Realm,两个表单过滤,验证码生成,登录类型判断,xml详细配置
shiro根据session获取登录状态和用户信息
Shiro登录授权认证功能
主要介绍了springboot整合shiro-登录失败次数限制功能,实现此功能如果是防止坏人多次尝试,破解密码的情况,所以要限制用户登录尝试次数,需要的朋友可以参考下
本文小编将基于 SpringBoot 集成 Shiro 实现动态uri权限,由前端vue在页面配置uri,Java后端动态刷新权
Springboot+shiro单点登录实现,本文档是单点登录的全部源代码。