`
文章列表
                      第九章 ActiveMq的高级特性   章节导读    配置ActiveMQ的高可用    理解网络代理(networks of brokers)    通过配置扩展ActiveMq           9.1 配置ActiveMq高可用                当应用被部署到生产环境中时,你需要考虑到容灾问题(网络,硬件,软件).ActiveMq可以防御性的部署让你在那些问题发生时保证可用.一般来说,你需要在不同的机子上运行多个Activemq brokers,以防其中某一台机子或者某一个broker失效的时候其它的 ...
                                                                  ActiveMQ 和java应用的结合      章节导读    在java应用中嵌入ActiveMQ    ActiveMq结合Spring    用Spring编写JMS客户端                   1.1  将Acti ...

第十三章 RememberMe

Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下: 1、首先在登录页面选中RememberMe然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie写到客户端并保存下来; 2、关闭浏览器再重新打开;会发现浏览器还是记住你的; 3、访问一般的网页服务器端还是知道你是谁,且能正常访问;   4、但是比如我们访问淘宝时,如果要查看我的订单或进行支付时,此时还是需要再进行身份认证的,以确保当前用户还是你。 RememberMe配置   spring ...
Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。   在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。 spring-beans.xml配置文件提供了基础组件如DataSource、DAO、Service组件的配置。   JavaSE应用   spring-shiro.xml提供了普通JavaSE独立应用的Spring配置: Java代码   <!-- ...
Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。对于Cache的一些概念可以参考我的《Spring Cache抽象详解》:http://jinnianshilongnian.iteye.com/blog/2001040。   Shiro提供的Cache接口:  Java代码   public inter
转帖地址:http://jinnianshilongnian.iteye.com/blog/2021439     Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web的透明支持、SSO单点登录的支持等特性。即直接使用Shiro的会话管理可以直接替换如Web容器的会话管理。   会话 所谓会话,即用户访问应用时保持的连接关系,在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。如访问一 ...
Shiro提供了JSTL标签用于在JSP/GSP页面进行权限控制,如根据登录用户显示相应的页面按钮。     导入标签库 Java代码   <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>   标签库定义在shiro-web.jar包下的META-INF/shiro.tld中定义。   guest标签 
转帖地址:http://jinnianshilongnian.iteye.com/blog/2021439   8.1 拦截器介绍 Shiro使用了与Servlet一样的Filter接口进行扩展;所以如果对Filter不熟悉可以参考《Servlet3.1规范》http://www.iteye.com/blogs/subjects/Servlet-3-1了解Filter的工作原理。首先下图是Shiro拦截器的基础类图: 1、NameableFilter NameableFilter给Filter起个名字,如果没有设置默认就是FilterName;还记得之前的如authc吗?当我们 ...

第七章 与web集成

转帖:http://jinnianshilongnian.iteye.com/blog/2021439   Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权限等工作。   7.1 准备环境 1、创建webapp应用  此处我们使用了jetty-maven-plugin和tomcat7-maven-plugin插件;这样可以直接使用“m ...
转帖:http://jinnianshilongnian.iteye.com/blog/2021439     6.1 Realm 【2.5 Realm】及【3.5 Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。    1、定义实体及关系 即用户-角色之间是多对多关 ...
转帖:http://jinnianshilongnian.iteye.com/blog/2021439     在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码。比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储。   5.1 编码/解码  Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作。Shiro内部的一些数据的存储/表示都使用了base64和16进制字符串。 Java代码  
转帖:http://jinnianshilongnian.iteye.com/blog/2020820   之前章节我们已经接触过一些INI配置规则了,如果大家使用过如Spring之类的IoC/DI容器的话,Shiro提供的INI配置也是非常类似的,即可以理解为是一个IoC/DI容器,但是区别在于它从一个根对象securityManager开始。   4.1 根对象SecurityManager 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的;也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Sh ...

第三章 shiro授权

转帖:http://jinnianshilongnian.iteye.com/blog/2019547     授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permiss ...
转帖:http://jinnianshilongnian.iteye.com/blog/2019547     身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,但只有一个Primary principals,一般是用户名/密码/手机号。 c ...

shiro简介

转帖:http://jinnianshilongnian.iteye.com/blog/2018936 1.1  简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。 本教程只介绍基本的Shiro使用,不会过多分析源码等,重在使用。   Shiro可以非常容易的开发出足够好的应用,其 ...
Global site tag (gtag.js) - Google Analytics