- 博客(18)
- 资源 (15)
- 问答 (15)
- 收藏
- 关注
原创 第十三章 RememberMe
Shiro 提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:1、首先在登录页面选中RememberMe 然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie 写到客户端并保存下来;2、关闭浏览器再重新打开;会发现浏览器还是记住你的;3、访问一般的网页服务器
2017-09-23 22:41:33 548
原创 第十二章 与Spring集成(三) Shiro权限注解
Shiro 提供了相应的注解用于权限控制,如果使用这些注解就需要使用AOP 的功能来进行判断,如Spring AOP;Shiro 提供了Spring AOP 集成用于权限注解的解析和验证。为了测试,此处使用了Spring MVC来测试Shiro 注解,当然Shiro 注解不仅仅可以在web环境使用,在独立的JavaSE 中也是可以用的,此处只是以web 为例了。在spring-mvc.
2017-09-22 22:18:16 667
原创 第十二章 与Spring集成(二) JavaWeb应用
Web 应用和普通JavaSE应用的某些配置是类似的,此处只提供一些不一样的配置,详细配置可以参考spring-shiro-web.xml。
2017-09-21 23:23:53 263
原创 第十二章 与Spring集成(一) JavaSE应用
Shiro 的组件都是JavaBean/POJO 式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web 应用的集成。在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。spring-beans.xml配置文件提供了基础组件如DataSource、DAO、Se
2017-09-20 23:21:33 517
原创 第十一章 缓存机制(三) Session 缓存
当我们设置了SecurityManager的CacheManager时,如:securityManager.cacheManager=$cacheManager当我们设置SessionManager时:sessionManager=org.apache.shiro.session.mgt.DefaultSessionManagersecurityManager.sessionMa
2017-09-16 22:47:00 543
原创 第十一章 缓存机制(二) Realm 缓存
Shiro 提供了CachingRealm,其实现了CacheManagerAware接口,提供了缓存的一些基础实现;另外AuthenticatingRealm及AuthorizingRealm分别提供了对AuthenticationInfo 和AuthorizationInfo信息的缓存。ini配置userRealm=com.github.zhangkaitao.shiro.ch
2017-09-16 22:42:06 2295
原创 第十一章 缓存机制(六) 概述
Shiro 提供了类似于Spring的Cache抽象,即Shiro 本身不实现Cache,但是对Cache 进行了又抽象,方便更换不同的底层Cache实现。对于Cache的一些概念可以参考我的《SpringCache抽象详解》:http://jinnianshilongnian.iteye.com/blog/2001040。Shiro提供的Cache接口:public interface
2017-09-16 22:39:09 389
原创 第十章 会话管理(六) sessionFactory
sessionFactory 是创建会话的工厂,根据相应的Subject 上下文信息来创建会话;默认提供了SimpleSessionFactory用来创建SimpleSession会话。首先自定义一个Session:public class OnlineSession extends SimpleSession {public static enum OnlineStatus
2017-09-16 22:37:01 871
原创 第十章 会话管理(五) 会话验证
Shiro 提供了会话验证调度器,用于定期的验证会话是否已过期,如果过期将停止会话;出于性能考虑,一般情况下都是获取会话时来验证会话是否过期并停止会话的;但是如在web环境中,如果用户不主动退出是不知道会话是否过期的,因此需要定期的检测会话是否过期,Shiro 提供了会话验证调度器SessionValidationScheduler来做这件事情。可以通过如下ini配置开启会话验证:
2017-09-16 22:33:41 3789
原创 第十章 会话管理(四) 会话存储/持久化
Shiro 提供SessionDAO 用于会话的CRUD,即DAO(Data Access Object)模式实现:1. 如DefaultSessionManager 在创建完session 后会调用该方法;如保存到关系数据库/文件系统/NoSQL 数据库;即可以实现会话的持久化;返回会话ID;主要此处返回的ID.equals(session.getId());Serializable c
2017-09-13 00:32:05 685
原创 面试遇到的问题
题目一:select t.name,max(case when t.man_sex='1' then t.c else 0 end) '男',max(case when t.man_sex='2' then t.c else 0 end) '女' from(select name,man_sex,count(1) as c from dept_mianshi group by
2017-09-12 23:26:52 290
原创 第十章 会话管理(三) 会话监听器
会话监听器用于监听会话创建、过期及停止事件:public class MySessionListener1 implements SessionListener{ @Override public void onStart(Session session) {//会话创建时触发 System.out.println("会话创建:"+session.getId()); } @Ove
2017-09-07 23:51:01 639
原创 第十章 会话管理(二) 会话管理器
会话管理器管理着应用中所有Subject的会话的创建、维护、删除、失效、验证等工作。是Shiro 的核心组件,顶层组件SecurityManager 直接继承了SessionManager,且提供了SessionsSecurityManager 实现直接把会话管理委托给相应的SessionManager ,DefaultSecurityManager 及DefaultWebSecurityMana
2017-09-07 23:37:30 1145
原创 第十章 会话管理(一) 会话
Shiro 提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE 还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web 的透明支持、SSO 单点登录的支持等特性。即直接使用Shiro 的会话管理可以直接替换如Web 容器的会话管理。所谓会话,即用户访问应用时保持的连接关系,在多次交互中
2017-09-07 22:45:19 547
原创 第九章 JSP标签
Shiro 提供了JSTL标签用于在JSP/GSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。导入标签库标签库定义在shiro-web.jar包下的META-INF/shiro.tld 中定义。guest标签 欢迎游客访问,点击登录用户没有身份验证时显示相应信息,即游客访问信息。user标签 欢迎[]登录,退出用户已经
2017-09-04 22:37:36 350
原创 第八章 拦截器机制(四) 默认拦截器
Shiro 内置了很多默认的拦截器,比如身份验证、授权等相关的。默认拦截器可以参考org.apache.shiro.web.filter.mgt.DefaultFilter中的枚举拦截器:默认拦截器名拦截器类说明(括号里的表示默认值)身份验证相关的authcorg.apache.shiro.web.filter.authc.FormA
2017-09-04 00:59:18 708
原创 第八章 拦截器机制(三) 自定义拦截器
通过自定义自己的拦截器可以扩展一些功能,诸如动态url-角色/权限访问控制的实现、根据Subject 身份信息获取用户信息绑定到Request(即设置通用数据)、验证码验证、在线用户信息的保存等等,因为其本质就是一个Filter;所以Filter能做的它就能做。1、扩展OncePerRequestFilterOncePerRequestFilter保证一次请求只调用一次doFilterIn
2017-09-03 00:47:36 1045
原创 第八章 拦截器机制(二) 拦截器链
Shiro 对Servlet 容器的FilterChain 进行了代理,即ShiroFilter 在继续Servlet 容器的Filter链的执行之前,通过ProxiedFilterChain 对Servlet 容器的FilterChain 进行了代理;即先走Shiro 自己的Filter 体系,然后才会委托给Servlet 容器的FilterChain 进行Servlet 容器级别的Filter
2017-09-01 00:08:42 1381
jquery.serializejson.min.js
2018-03-28
跟我学Shiro第13章Demo(RememberMe)
2017-09-23
跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)2
2017-09-23
跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)
2017-09-22
跟我学Shiro第12章Demo(仅JAVA SE)
2017-09-20
shiro 第二~六章 完整Demo
2017-09-04
shiro 第七、八章 完整Demo
2017-09-04
iframe如何跨域获取子页面的元素?
2017-06-03
ckEditor字体大小功能按键没有显示出来
2017-04-22
hibernate4报错,好像文件加载不了求大神,,,
2016-10-14
hibernate4获取sessionfactory报错,看下
2016-10-14
最基本的struts2把我搞蒙了,求大神
2016-09-28
现在java web的饼状图或者柱状图用什么框架来生成?
2016-09-13
关于jquery弹框实现问题
2016-07-12
子jsp调用父jsp的方法的问题
2016-07-09
easyUI关于datagrid横向滚动条的实现
2016-06-17
如何让$.messager.show固定在右下角
2016-06-16
如何在<s:textfield>文本框中设置提示语句
2016-05-23
jquery修改struts2文本框标签样式?
2016-05-17
两个<s:textfield>,如何实现联动?
2016-05-13
如何在struts2标签<s:textfield>上添加鼠标事件
2016-05-13
如何实现<s:textfield>和<s:select>提交时合并为一个id元素?
2016-05-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人