摘要: 上篇【Apache-Shiro+Zookeeper系统集群安全解决方案之会话管理】,解决了Shiro在系统集群开发时安全的会话共享问题,系统在使用过程中会有大量的权限检查和用户身份检验动作,为了不频繁访问储存容器,Shiro提供了三个缓存机制: 用户登录Session缓存,默认是不开启的,在Realm配置中设置authenticationCachingEnabled开启, 使用原则是用户在登录成功后缓存登录校验信息,如 admin 登录成功后将用户名密码等缓存,在超时退出或直接关闭浏览器需要重新登录时不访问数据库。 在用户退出或超时自动清理缓存数据。 阅读全文
posted @ 2013-07-29 13:28 i'm老土豆 阅读(1331) 评论(0) 推荐(0)
摘要: 如今的系统多不是孤军奋战,在多结点会话共享管理方面有着各自的解决办法,比如Session粘连,基于Web容器的各种处理等或者类似本文说的完全接管Web容器的Session管理,只是做法不尽相同。 而本文说的是Apache-Shiro+Zookeeper来解决多结点会话管理,Shiro一个优秀的权限框架,有着很好的扩展性,而Zookeeper更是让你激动不已的多功能分布式协调系统,在本例中就用它来做Shiro的会话持久容器! 在有过Shiro和Zookeeper开发后这一切都非常容易理解,实现过程如下: 用到的框架技术: Spring + Shiro + Zookeeper 阅读全文
posted @ 2013-07-23 22:10 i'm老土豆 阅读(2513) 评论(0) 推荐(0)
摘要: 自动集成有很多种方案,本例用到的工具是Jenkins(前身Hudson)+Gradle+Jetty,关于Gradle可参考上一篇,Gradle常见问题。 本例项目名称: WAP Jetty 安装Jenkins 本例用的是最新版Jetty9,在安全上做了升级,直接放在webapps目录部署不能成功,需要在webapps目录下添加文件jenkins.xml,内容如下: 阅读全文
posted @ 2013-07-10 21:42 i'm老土豆 阅读(5457) 评论(0) 推荐(0)
摘要: Gradle借助Groovy语言作为其配置脚本,使得Gradle变的十分强大,几乎是无所不能,我们在掌控这个强大且功能繁多的工具时也比较困难和凌乱,因此本文记录一些使用过程常见的配置,以备不时之需! Gradle如何包含文件 apply from: "./libraries.gradle" 如何指定build输出目录和版本号 buildDir = "target" version = '1.0' 阅读全文
posted @ 2013-07-06 17:54 i'm老土豆 阅读(6920) 评论(1) 推荐(2)
摘要: 异常,异常 我们一定要捕获一切该死的异常,宁可错杀一千也不能放过一个! 产品上线后的异常更要命,一定要屏蔽错误内容,以免暴露敏感信息! 在用Spring MVC开发WEB应用时捕获全局异常的方法基本有两种, WEB.XML,就是指定error-code和page到指定地址,这也是最传统和常见的做法 用Spring的全局异常捕获功能,这种相对可操作性更强一些,可根据自己的需要做一后善后处理,比如日志记录等。 SO,本文列出Spring-MVC做WEB开发时常用全局异常捕获的几种解决方案抛砖引玉 互相没有依赖,每个都可单独使用! 阅读全文
posted @ 2013-06-30 13:41 i'm老土豆 阅读(16303) 评论(0) 推荐(2)