`
jinnianshilongnian
  • 浏览: 21504095 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2418690
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3008796
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5639491
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:259916
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597325
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250221
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5858965
Group-logo
跟我学Nginx+Lua开...
浏览量:702008
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785224
社区版块
存档分类
最新评论

跟我学Shiro目录贴

阅读更多

扫一扫,关注我的公众号 

 

购买地址

 

历经三个月左右时间,《跟我学Shiro》系列教程已经完结,暂时没有需要补充的内容,因此生成PDF版供大家下载。最近项目比较紧,没有时间解答一些疑问,暂时无法回复一些问题,很抱歉,不过可以加群(334194438/348194195)一起讨论问题。

 

 

 

点击下载《跟我学Shiro》教程PDF版。学习交流使用,请勿用于其他任何商业用途。

 

 

Shiro目录

第一章  Shiro简介

第二章  身份验证

第三章  授权

第四章  INI配置

第五章  编码/加密

第六章  Realm及相关对象

第七章  与Web集成

第八章 拦截器机制

第九章 JSP标签

第十章  会话管理

第十一章  缓存机制

第十二章  与Spring集成

第十三章  RememberMe

第十四章  SSL

第十五章  单点登录

第十六章  综合实例

第十七章  OAuth2集成

第十八章 并发登录人数控制

第十九章 动态URL权限控制

第二十章 无状态Web应用集成

第二十一章 授予身份及切换身份

第二十二章 集成验证码

第二十三章 多项目集中权限管理及分布式会话

第二十四章 在线会话管理

 

示例工程是Maven工程,需要了解Maven基础。

 

示例源代码:https://github.com/zhangkaitao/shiro-example;加qun 231889722 探讨Spring/Shiro技术。

 

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////Shiro相关文章///////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

权限基础

ITeye论坛关于权限控制的讨论

RBAC新解

 

其他相关文章

Shiro官方文档

Shiro官方推荐资料

Shiro参考手册中文版 

黄勇的Shiro 源码分析

Dead_knight的Shiro源码分析

Shiro+Struts2+Spring3 加上@RequiresPermissions 后@Autowired失效 

简单shiro扩展实现NOT、AND、OR权限验证 

集成Shiro后当遇到404错误时会丢失session

在velocity 模板文件中,实现 shiro 权限验证

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////使用Shiro的项目///////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

springside

springside:是以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中的主流技术选型,最佳实践的总结与演示。

 

springrain

springrain:springrain是spring的极简封装,spring一站式开发的范例。

springrain技术详解(1)-shiro基本权限控制

springrain技术详解(2)-权限表结构

springrain技术详解(3)-shiro的filterChainDefinitions

springrain技术详解(4)-shiro的缓存

springrain技术详解(5)-shiro的httpSession

 

ES

JavaEE项目开发脚手架:ES是一个JavaEE企业级项目的快速开发的脚手架,提供了底层抽象和通用功能,拿来即用。

 

 

扫一扫,关注我的公众号 

 

新书购买地址

188
7
分享到:
评论
89 楼 Gozs_cs_dn 2015-05-25  
感谢大神分享, 正好想学安全框架
自己写RBAC太费力, 而且BUG还多
88 楼 yk.java 2015-04-14  
buffering 写道
请问我运行jetty,为什么卡住呢,笔记本风扇狂转。
[INFO] Reload Mechanic: manual
[INFO] Classes = D:\git\es\web\target\classes
[INFO] Context path = /es-web
[INFO] Tmp directory = D:\git\es\web\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:/D:/git/es/web/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = D:\git\es\web\src\main\webapp
2014-10-27 22:04:44.571:INFO:oejs.Server:jetty-8.1.8.v20121106
2014-10-27 22:04:47.569:INFO:oejpw.PlusConfiguration:No Transaction manager foun
d - if your webapp requires one, please configure one.
Null identity service, trying login service: null
Finding identity service: null
2014-10-27 22:05:09.806:INFO:/es-web:No Spring WebApplicationInitializer types d
etected on classpath
2014-10-27 22:05:10.750:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:10.751:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:10.753:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:11.078:INFO:/es-web:Initializing Spring root WebApplicationCont
ext
十月 27, 2014 10:05:42 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
Hibernate: select taskdefini0_.id as id1_4_, taskdefini0_.bean_class as bean_cla
2_4_, taskdefini0_.bean_name as bean_nam3_4_, taskdefini0_.cron as cron4_4_, tas
kdefini0_.description as descript5_4_, taskdefini0_.method_name as method_n6_4_,
taskdefini0_.name as name7_4_, taskdefini0_.is_start as is_start8_4_ from maint
ain_task_definition taskdefini0_ where 1=1
2014-10-27 22:06:40.004:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:06:40.240:INFO:/es-web:Initializing Spring FrameworkServlet 'sprin
g'
运行到这里就不往下走了。


为什么我配置了logback 还是一样的?
87 楼 whut0503 2015-03-15  
这个太好了,正是我想要的,谢谢LZ整理!
86 楼 雨中的台北 2015-01-06  
大侠,请受小弟一拜!!!又是长知识的好文章!!!
85 楼 liucong001 2014-12-11  
怎么下载不了PDF
84 楼 buffering 2014-11-03  
buffering 写道
请问我运行jetty,为什么卡住呢,笔记本风扇狂转。
[INFO] Reload Mechanic: manual
[INFO] Classes = D:\git\es\web\target\classes
[INFO] Context path = /es-web
[INFO] Tmp directory = D:\git\es\web\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:/D:/git/es/web/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = D:\git\es\web\src\main\webapp
2014-10-27 22:04:44.571:INFO:oejs.Server:jetty-8.1.8.v20121106
2014-10-27 22:04:47.569:INFO:oejpw.PlusConfiguration:No Transaction manager foun
d - if your webapp requires one, please configure one.
Null identity service, trying login service: null
Finding identity service: null
2014-10-27 22:05:09.806:INFO:/es-web:No Spring WebApplicationInitializer types d
etected on classpath
2014-10-27 22:05:10.750:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:10.751:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:10.753:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:11.078:INFO:/es-web:Initializing Spring root WebApplicationCont
ext
十月 27, 2014 10:05:42 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
Hibernate: select taskdefini0_.id as id1_4_, taskdefini0_.bean_class as bean_cla
2_4_, taskdefini0_.bean_name as bean_nam3_4_, taskdefini0_.cron as cron4_4_, tas
kdefini0_.description as descript5_4_, taskdefini0_.method_name as method_n6_4_,
taskdefini0_.name as name7_4_, taskdefini0_.is_start as is_start8_4_ from maint
ain_task_definition taskdefini0_ where 1=1
2014-10-27 22:06:40.004:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:06:40.240:INFO:/es-web:Initializing Spring FrameworkServlet 'sprin
g'
运行到这里就不往下走了。

因为logback没有打印spring的log,以为程序没有往下走,配置上logbask的spring扩展,程序已经跑起来了,谢谢taoge的教程。
83 楼 buffering 2014-10-27  
请问我运行jetty,为什么卡住呢,笔记本风扇狂转。
[INFO] Reload Mechanic: manual
[INFO] Classes = D:\git\es\web\target\classes
[INFO] Context path = /es-web
[INFO] Tmp directory = D:\git\es\web\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:/D:/git/es/web/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = D:\git\es\web\src\main\webapp
2014-10-27 22:04:44.571:INFO:oejs.Server:jetty-8.1.8.v20121106
2014-10-27 22:04:47.569:INFO:oejpw.PlusConfiguration:No Transaction manager foun
d - if your webapp requires one, please configure one.
Null identity service, trying login service: null
Finding identity service: null
2014-10-27 22:05:09.806:INFO:/es-web:No Spring WebApplicationInitializer types d
etected on classpath
2014-10-27 22:05:10.750:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:10.751:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:10.753:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:05:11.078:INFO:/es-web:Initializing Spring root WebApplicationCont
ext
十月 27, 2014 10:05:42 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
Hibernate: select taskdefini0_.id as id1_4_, taskdefini0_.bean_class as bean_cla
2_4_, taskdefini0_.bean_name as bean_nam3_4_, taskdefini0_.cron as cron4_4_, tas
kdefini0_.description as descript5_4_, taskdefini0_.method_name as method_n6_4_,
taskdefini0_.name as name7_4_, taskdefini0_.is_start as is_start8_4_ from maint
ain_task_definition taskdefini0_ where 1=1
2014-10-27 22:06:40.004:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppCon
text{/es-web,file:/D:/git/es/web/src/main/webapp/},file:/D:/git/es/web/src/main/
webapp/
2014-10-27 22:06:40.240:INFO:/es-web:Initializing Spring FrameworkServlet 'sprin
g'
运行到这里就不往下走了。
82 楼 yzwcroco 2014-09-25  
penwei 写道
lovetzmlove 写道
博主shiro和ajax请求的处理有没有研究哇
比如session超时和登录的处理

这个也是我遇到的问题,如果打开一个页面久了session失效,用ajax去请求被拦截后,页面也不能转道登陆页面。



session超时后,发ajax请求所获得的响应,就被重定向成了loginUrl的那个页面,而不是json字符串。

所以我的做法是,在全局中给所有的ajax请求添加一个header做标识。比如如果用jquery的话,就可以在页面的通用头中通过$.ajaxSetup设置isAjax:true的header。

此后在loginUrl所对应的那个接口里,就可以根据这个header来决定是返回一个提示超时的json字符串,还是返回登录页面。

前端ajax请求接到提示登录超时的json响应后,可以直接用js刷新当前页面,就可以被shiro踢到登录页了。
81 楼 out_run 2014-09-17  
我只能说非常感谢,你的无私分享让我节省了太多的时间,专门注册一个号来回复。
我对你的分享精神表示佩服和尊敬
80 楼 jxfsuda 2014-08-25  
penwei 写道
lovetzmlove 写道
博主shiro和ajax请求的处理有没有研究哇
比如session超时和登录的处理

这个也是我遇到的问题,如果打开一个页面久了session失效,用ajax去请求被拦截后,页面也不能转道登陆页面。


我觉得通过设计可以解决,对于业务系统的错误信息,应该有统一的code.不管是自定义一个返回值,还是通过自定义responseCode,而且,可以获取到是否ajax请求


这个问题的原因在于大多数使用这些框架的时候,仅仅是框架的搭配,而缺少必要的封装,仅仅以来框架提供的功能在做项目,框架的堆砌只能体现在牛逼的文档上忽悠监理.
79 楼 penwei 2014-08-03  
lovetzmlove 写道
博主shiro和ajax请求的处理有没有研究哇
比如session超时和登录的处理

这个也是我遇到的问题,如果打开一个页面久了session失效,用ajax去请求被拦截后,页面也不能转道登陆页面。
78 楼 asd821226 2014-05-29  
es脚手架能用吗,请负责的告知我们,一大堆问题,跑都跑不了,浪费时间
77 楼 iwindyforest 2014-05-09  
大部分已经学完, 看你的这个系列收益颇多,
非常佩服博主, 特此感谢,  , 并且以后长期关注了.
76 楼 buru1kan 2014-05-05  
拿走,谢谢!
75 楼 lrg30067 2014-05-02  
咨询个问题,请问“第八章 拦截器机制”的介绍中,“Shiro拦截器的基础类图”是用工具生成的嘛?还是自己画了的?
74 楼 stephenson37 2014-04-23  
涛老师  <aop:config proxy-target-class="true"></aop:config> 加到spring-mvc-shiro 后 为什么在做新增、修改、删除操作的时候Controller里面注入的Service是null 查询的时候没问题  去掉以后的话Controller里面的shiro注解又不起作用
73 楼 tairan_0729 2014-04-22  
作者太厉害了,以后要向你多多学习,希望你能分享一些学习框架的方法,小弟不胜感激
72 楼 4351901 2014-04-21  
辛苦了
71 楼 shizhangliao 2014-04-21  
   
70 楼 qingbo921 2014-04-20  
大侠,不知道大侠是否了解spring  security ,我想它和Shiro那种作为权限框架,那种方式好呢?目前我一直采用spring security 方式,想采纳大侠的方法!!!

相关推荐

    [资料][Java]跟我学Shiro教程_Java跟我学Shiro教程_shiro_

    Apache Shiro 是一个强大且易用的 Java 安全框架,提供了认证、授权、加密和会话管理功能,可以非常方便地开发出足够安全的应用。...阅读 "[资料][Java]跟我学Shiro教程.pdf",你将得到更详细的步骤指导和实践案例。

    跟我学Shiro

    通过《跟我学Shiro》.pdf,你将学习到如何创建 Realm 实现数据源连接、配置 Shiro 安全框架、处理登录和登出逻辑、实现权限控制以及在实际项目中部署和调优 Shiro。 10. **最佳实践** 学习 Shiro 的过程中,了解...

    跟我一起学shiro 张开涛

    《跟我一起学Shiro——张开涛》这本书是针对初学者的优秀教程,旨在帮助读者快速理解和掌握Shiro的基本用法和核心概念。 **1. Shiro基础** Shiro的基础概念包括Subject、Realms、Cryptography和Session。Subject是...

    跟我学Shiro教程.rar

    "跟我学Shiro教程"这个资源显然是为了帮助学习者深入理解并掌握Shiro的核心概念和实际应用。 在Shiro的认证服务中,其主要目标是确认用户身份。这通常涉及用户登录过程,其中用户提供的凭证(如用户名和密码)被...

    《跟我学Shiro》- 张开涛.txt

    ***txt文件中含有下载地址** 《跟我学Shiro》- 张开涛,PDF版本,带目录,清晰。 示例源代码:https://github.com/zhangkaitao/shiro-example; 加qun 231889722 探讨Spring/Shiro技术。

    跟我学shiro

    ### Apache Shiro 知识点概览 #### 一、Apache Shiro 框架简介 - **背景**:Apache Shiro 是一个强大且易于使用的 Java 安全框架,为开发者提供了一站式的安全解决方案,涵盖了认证、授权、加密以及会话管理等多个...

    跟我学Shiro-java开发+spring开发

    《跟我学Shiro-java开发+spring开发》是一个深入学习Java安全框架Shiro和Spring集成的教程,旨在帮助开发者掌握这两个关键技术在实际项目中的应用。Shiro是一个强大的且易用的Java安全框架,提供了认证、授权、加密...

    跟我学Shiro教程 pdf

    《跟我学Shiro》PDF完结版下载, Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不...

    跟我学Shiro教程及其课程分章节源码

    Apache Shiro是一个强大易用的Java安全框架,...我找了一版 跟我学Shiro教程PDF,里面讲的很详细.里面还附带了每个章节的源码.值得你收藏哟!饮水思源——原文出自:http://jinnianshilongnian.iteye.com/blog/2049092

    shiro教程 跟我学Shiro教程

    "跟我学Shiro教程"资源包包含了全面学习Shiro所需的重要材料,包括文档和实践示例。 首先,我们来看《Apache_Shiro参考手册中文版.pdf》。这本书籍详细介绍了Shiro框架的各个组件和使用方法。通过阅读,你可以了解...

    跟我学 Shiro - v1.1.rar

    Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Sp ring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所 ...

    跟我学shiro源代码

    "跟我学Shiro源代码"是一份针对Shiro框架的详细教程,通过这本书,读者能够深入理解Shiro的核心概念和用法,并通过实际的代码示例来提升自己的技能。 1. **身份验证(Authentication)**:Shiro提供了一套完善的...

    跟我学shiro文档及源码

    在《跟我学Shiro》这本书中,作者深入浅出地讲解了 Shiro 的核心概念与实际应用场景,配合源码分析,有助于读者更好地理解和掌握 Shiro 的工作原理。 1. **Shiro 概述** - Shiro 的设计目标是简化应用安全开发,它...

    跟我学Shiro源码

    "跟我学Shiro源码"这个主题旨在深入理解Shiro的工作原理,通过分析源码来提升我们对安全编程的认知。 1. **Shiro架构** Shiro 的核心组件包括 Realm(认证与授权信息源)、SecurityManager(安全管理器)、Subject...

    跟我学Shiro第11章Demo

    在"跟我学Shiro第11章Demo"中,我们将深入探讨Shiro的核心组件,特别是其在缓存管理和会话管理中的应用。 首先,我们关注的是Cache缓存。Shiro支持缓存来提高性能,避免频繁的数据库查询。它允许开发者将敏感操作的...

    跟我学shiro综合实例(springboot新版)

    **跟我学Shiro综合实例(SpringBoot新版)** 在当今的Web开发中,Spring Boot以其简洁的配置和快速的开发效率成为了许多项目首选的技术栈。而Apache Shiro作为一款强大的安全框架,它提供了身份验证、授权、会话...

Global site tag (gtag.js) - Google Analytics