第15章 单点登录
摘要:Shiro 1.2开始提供了Jasig CAS单点登录的支持,单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录。此处我们使用Jasig CAS v4.0.0-RC3版本:https://github.com/Jasig/cas/...
阅读全文
posted @
2015-05-13 14:31
垦荒牛
阅读(262)
推荐(0)
第14章 SSL
摘要:对于SSL的支持,Shiro只是判断当前url是否需要SSL登录,如果需要自动重定向到https进行访问。首先生成数字证书,生成证书到D:\localhost.keystore使用JDK的keytool命令,生成证书(包含证书/公钥/私钥)到D:\localhost.keystore:keytool...
阅读全文
posted @
2015-05-13 11:36
垦荒牛
阅读(148)
推荐(0)
第13章 RememberMe
摘要:Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下: 1、首先在登录页面选中RememberMe然后登录成功,如果是浏览器登录,一般会把RememberMe的Cookie写到客户端并保...
阅读全文
posted @
2015-05-13 11:27
垦荒牛
阅读(137)
推荐(0)
第12章 与Spring集成
摘要:Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。...
阅读全文
posted @
2015-05-13 11:09
垦荒牛
阅读(156)
推荐(0)
第11章 缓存机制
摘要:Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。对于Cache的一些概念可以参考《Spring Cache抽象详解》:http://jinnianshilongnian.iteye.com/blog...
阅读全文
posted @
2015-05-13 10:41
垦荒牛
阅读(173)
推荐(0)
第24章 在线会话管理
摘要:有时候需要显示当前在线人数、当前在线用户,有时候可能需要强制某个用户下线等,此时就需要获取相应的在线用户并进行一些操作,本章基于《第十六章 综合实例》代码构建。会话控制器 @RequiresPermissions("session:*") @Controller @RequestMapping("/...
阅读全文
posted @
2015-05-13 08:47
垦荒牛
阅读(1849)
推荐(0)
第10章 会话管理
摘要:Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web的透明支持、SSO单点登录的支持等特性,即直接使用Shiro的会话管理可以...
阅读全文
posted @
2015-05-13 08:25
垦荒牛
阅读(471)
推荐(0)
第7章 与Web集成
摘要:shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权...
阅读全文
posted @
2015-05-12 15:59
垦荒牛
阅读(206)
推荐(0)
第5章 编码/加密
摘要:在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码。比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储。5.1 编码/解码Shiro提供了base64(Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一)和16进制字符...
阅读全文
posted @
2015-05-12 11:30
垦荒牛
阅读(263)
推荐(0)
第6章 Realm及相关对象
摘要:6.1 Realm【2.5 Realm】及【3.5 Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。1、定义实体及关系 即用户-角色之间是多对多关系,角色-权限之间是多对多关系,且用户和权限之间通过角色建立关系,在系统中验证时通过权限验证,...
阅读全文
posted @
2015-05-07 17:11
垦荒牛
阅读(938)
推荐(0)
第4章 INI配置
摘要:之前章节我们已经接触过一些INI配置规则了,如果大家使用过如Spring之类的IoC/DI容器的话,Shiro提供的INI配置也是非常类似的,即可以理解为是一个IoC/DI容器,但是区别在于它从一个根对象securityManager开始。4.1 根对象SecurityManager 从之前的Sh...
阅读全文
posted @
2015-05-07 11:36
垦荒牛
阅读(244)
推荐(0)
第3章 授权
摘要:Authorization(授权):也叫访问控制,即在应用中控制用户能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体:即访问应用的用户,在Shiro中使用Subje...
阅读全文
posted @
2015-05-07 09:58
垦荒牛
阅读(283)
推荐(0)
第8章 拦截器机制
摘要:8.1 拦截器介绍Shiro使用了与Servlet一样的Filter接口进行扩展,所以如果对Filter不熟悉可以参考《Servlet3.1规范》http://www.iteye.com/blogs/subjects/Servlet-3-1了解Filter的工作原理,首先下图是Shiro拦截器的基础...
阅读全文
posted @
2015-04-28 11:27
垦荒牛
阅读(721)
推荐(0)
第9章 JSP标签
摘要:Shiro提供了JSTL标签用于在JSP/GSP页面进行权限控制,如根据登录用户显示相应的页面按钮。导入标签库标签库定义在shiro-web.jar包下的META-INF/shiro.tld中定义。guest标签 欢迎游客访问,登录欢迎游客访问,登录用户没有身份验证时显示相应信息,即游客访问信息。u...
阅读全文
posted @
2015-04-28 09:42
垦荒牛
阅读(223)
推荐(0)
第2章身份验证
摘要:Authentication(身份验证):在应用中证明其合法性,一般提需提供身份ID、一些标识信息来证明其身份(如提供身份证、用户名/密码来证明),在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用才能验证用户身份:Principals(...
阅读全文
posted @
2015-04-17 08:27
垦荒牛
阅读(379)
推荐(0)
第1章 Shiro简介
摘要:1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于...
阅读全文
posted @
2015-04-16 21:36
垦荒牛
阅读(245)
推荐(0)