`
xyz20003
  • 浏览: 292698 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

spring security权限管理手册升级至spring security-3.1.3

阅读更多

费了半天劲,终于把原来基于spring security 2.0.5的权限管理手册升级到3.1.3。

除了官方已经不再支持ntlm和portal两个例子之外,其他的实例都已经通过了测试。下一步计划是对整体内容进行整理,再加上3.1.3提供的新功能。

 

目录索引链接如下:

 

序言
I. 基础篇
1. 一个简单的HelloWorld
1.1. 配置过滤器
1.2. 使用命名空间
1.3. 完善整个项目
1.4. 运行示例
2. 使用数据库管理用户权限
2.1. 修改配置文件
2.2. 数据库表结构
3. 自定义数据库表结构
3.1. 自定义表结构
3.2. 初始化数据
3.3. 获得自定义用户权限信息
3.3.1. 处理用户登陆
3.3.2. 检验用户权限
4. 自定义登陆页面
4.1. 实现自定义登陆页面
4.2. 修改配置文件
4.3. 登陆页面中的参数配置
4.4. 测试一下
5. 使用数据库管理资源
5.1. 数据库表结构
5.2. 初始化数据
5.3. 实现从数据库中读取资源信息
5.3.1. 需要何种数据格式
5.3.2. 替换原有功能的切入点
6. 控制用户信息
6.1. MD5加密
6.2. 盐值加密
6.3. 用户信息缓存
6.4. 获取当前用户信息
7. 自定义访问拒绝页面
8. 动态管理资源结合自定义登录页面
9. 中文用户名
10. 判断用户是否登录
II. 保护web篇
11. 图解过滤器
11.1. HttpSessionContextIntegrationFilter
11.2. LogoutFilter
11.3. AuthenticationProcessingFilter
11.4. DefaultLoginPageGeneratingFilter
11.5. BasicProcessingFilter
11.6. SecurityContextHolderAwareRequestFilter
11.7. RememberMeProcessingFilter
11.8. AnonymousProcessingFilter
11.9. ExceptionTranslationFilter
11.10. SessionFixationProtectionFilter
11.11. FilterSecurityInterceptor
12. 管理会话
12.1. 添加监听器
12.2. 添加过滤器
12.3. 控制策略
12.3.1. 后面的用户禁止登陆
12.3.2. 后登陆的将先登录的踢出系统
13. 单点登录
13.1. 配置JA-SIG
13.2. 配置Spring Security
13.2.1. 添加依赖
13.2.2. 修改applicationContext.xml
13.3. 运行配置了cas的子系统
13.4. 为cas配置SSL
13.4.1. 生成密钥
13.4.2. 为jetty配置SSL
13.4.3. 为tomcat配置SSL
14. basic认证
14.1. 配置basic验证
14.2. 编程实现basic客户端
15. 标签库
15.1. 配置taglib
15.2. authenticaiton
15.3. authorize
15.4. acl/accesscontrollist
15.5. 为不同用户显示各自的登陆成功页面
16. 自动登录
16.1. 默认策略
16.2. 持久化策略
17. 匿名登录
17.1. 配置文件
17.2. 修改默认用户名
17.3. 匿名用户的限制
18. 防御会话伪造
18.1. 攻击场景
18.2. 解决会话伪造
19. 预先认证
19.1. 为jetty配置Realm
19.2. 配置Spring Security
20. 切换用户
20.1. 配置方式
20.2. 实例演示
21. 信道安全
21.1. 设置信道安全
21.2. 指定http和https的端口
22. digest认证
22.1. 配置digest验证
22.2. 使用ajax实现digest认证
22.3. 编程实现digest客户端
23. 通过LDAP获取用户信息
24. 通过OpenID进行登录
24.1. 配置
24.2. 系统时间问题
24.3. openid4java的处理流程
25. 使用X509登录
25.1. 生成证书
25.2. 配置服务器使用双向加密
25.3. 配置X509认证
26. 使用NTLM登录
27. 使用JAAS机制
28. 使用HttpInvoker
29. 使用rmi
30. 控制portal的权限
31. 保存登录之前的请求
32. 记录操作日志
III. 内部机制篇
33. 保护方法调用
33.1. 控制全局范围的方法权限
33.2. 控制某个bean内的方法权限
33.3. 使用annotation控制方法权限
33.3.1. 使用Secured
33.3.2. 使用jsr250
34. 权限管理的基本概念
34.1. 认证与验证
34.2. SecurityContext安全上下文
34.3. Authentication验证对象
35. Voter表决者
35.1. Voter表决者
35.2. RoleVoter
35.3. AuthenticatedVoter
35.4. AbstractAclVoter
36. 拦截器
36.1. 权限配置数据源
36.2. 权限管理器
36.3. 后置调用管理器
36.4. 临时分配额外权限
37. 用户信息
37.1. UserDetails
37.2. 使用角色继承
37.3. 为ACL添加角色继承
37.4. PasswordEncoder和SaltValue
38. 集成jcaptcha
39. 动态资源管理
39.1. 基本知识
39.2. 读取资源
39.3. URL资源扩展点
39.4. METHOD资源扩展点
40. 扩展UserDetails
40.1. 实现UserDetails接口
40.2. 实现UserDetailsService接口
40.3. 修改配置文件
40.4. 测试运行
41. 锁定用户
42. 设置过滤器链
43. 自定义过滤器
44. 使用用户组
44.1. 数据库结构
44.2. 修改配置文件
45. 在JSF中使用Spring Security
45.1. 修改过滤器支持forward
45.2. 自定义登录页面
45.3. 显示密码错误信息
46. 自定义会话管理
46.1. 默认策略的缺陷
46.2. 记录用户名与ip
46.3. 改造控制类
46.4. 修改配置文件
47. 匹配URL地址
47.1. AntPathRequestMatcher
47.2. RegexRequestMatcher
48. 配置过滤器
48.1. 标准过滤器
48.2. 在http中启用标准过滤器
48.3. 为自定义过滤器设置位置
49. 监控会话过期
49.1. 实现原理
49.2. 代码实现
49.3. 目前实现的缺陷
50. 多个登陆页面
50.1. 未登录自动跳转到对应的登录页面
50.2. 密码出错时返回对应页面
51. 角色继承
51.1. 使用RoleHierarchyVoter
51.2. 使用数据库实现RoleHierarchy
52. 设置方法拦截器
IV. ACL篇
53. ACL基本操作
53.1. 准备数据库和aclService
53.1.1. 为acl配置cache
53.1.2. 配置lookupStrategy
53.1.3. 配置aclService
53.2. 使用aclService管理acl信息
53.3. 使用acl控制delete操作
53.4. 控制用户可以看到哪些信息
54. 管理acl
54.1. 管理多个domain类
54.2. 动态授权与收回授权
54.2.1. 获得对象的acl权限
54.2.2. 添加授权
54.2.3. 收回授权
55. acl自动提醒
55.1. 自动创建acl
55.2. 自动删除acl
55.3. 根据id删除acl
V. 最佳实践篇
56. 最简控制台
56.1. 平台搭建
56.2. 用户登录
56.3. 用户信息列表
56.4. 添加用户
56.5. 修改用户信息
56.6. 修改自己的密码
57. 用户组控制台
57.1. 添加对用户组的支持
57.2. 浏览用户组
57.3. 创建用户组
57.4. 修改用户组
A. 修改日志
B. 常见问题解答
C. Spring Security-3.0.0.M1
C.1. Hello World
C.2. Spring-EL
C.3. RoleHierarchy
C.4. Success Handler
C.5. REST下的权限控制
C.6. 管理会话同步
D. 命名空间
D.1. http
D.2. authentication-provider
D.3. ldap-server
D.4. global-method-security
E. 数据库表结构
E.1. User
E.2. Group
E.3. RememberMe
E.4. ACL
F. 异常
G. 事件
H. RBAC模型(转载)
H.1. RBAC模型介绍
H.2. 有关概念
H.2.1. 什么是角色
H.2.2. 角色与用户组
H.3. 基本模型RBAC0
H.3.1. RBAC0 模型的形式定义如下
H.4. 角色分级模型RBAC1
H.4.1. 定义2:RBAC1 由以下内容确定
H.5. 限制模型RBAC2
H.5.1. 定义3:
H.6. 统一模型RBAC3
H.7. 定义4
H.8. 在ARBAC97中,包括三种组件
H.9. RBAC模型的特点
H.10. 基于party的模型
H.11. 有关operation
I. 认证流程
10
1
分享到:
评论
21 楼 Rookie_Li 2014-01-15  
您好,您的教程很有用,请问例子的源码在哪下载?
20 楼 yf8707 2013-06-10  
好东西,来学习下
19 楼 sinopec530 2013-03-15  
源码有下载的地址吗???
18 楼 sinopec530 2013-03-15  
博主,学习了,受益匪浅啊!!!!!!!
17 楼 xyz20003 2013-01-03  
mrrigth 写道
spring security每个版本之间都有接口变动,我们的例子一定要用spring security 3.1.3才能跑起来。

我就是用的3.1.3.RELEASE
您可以自己用编辑器点一下 类不出来
还有你基础篇的maven 也有问题 这样跑还跑不起来我单独加了一个
spring-security-config 才能跑起来 
会不会是因为 还有别的什么jar 引进来才出的问题 我再看看去

spring-security-config的确是必须加上的,我回去复查一下。
如果还有问题,把打印的错误堆栈发一下吧。有助于分析问题。
16 楼 mrrigth 2013-01-03  
spring security每个版本之间都有接口变动,我们的例子一定要用spring security 3.1.3才能跑起来。

我就是用的3.1.3.RELEASE
您可以自己用编辑器点一下 类不出来
还有你基础篇的maven 也有问题 这样跑还跑不起来我单独加了一个
spring-security-config 才能跑起来 
会不会是因为 还有别的什么jar 引进来才出的问题 我再看看去
15 楼 xyz20003 2013-01-03  
mrrigth 写道
不错  1-4关 畅通无阻 但是打到第五关 就有难度了

spring security每个版本之间都有接口变动,我们的例子一定要用spring security 3.1.3才能跑起来。
14 楼 mrrigth 2013-01-02  
不错  1-4关 畅通无阻 但是打到第五关 就有难度了
13 楼 arthur8 2012-12-14  
  老大出最新版的啦。
12 楼 osacar 2012-12-09  
chm或pdf下载地址有没?
11 楼 wuxiaoqi1990 2012-12-09  
非常不错的资料,谢谢
10 楼 tanjianna 2012-12-09  
非常感谢你的解析!
9 楼 perzer 2012-12-08  
这个不错,谢谢xyz的成果。
8 楼 lemon0 2012-12-08  
打开一看我就知道是好东西,楼主辛苦!!!
7 楼 freezingsky 2012-12-08  
感谢楼主提供宝贵的学习资料和经验,但能否提供相应的PDF?
6 楼 YTWY001 2012-12-08  
好好,感谢,收藏哇!
5 楼 ie7shop 2012-12-08  
好东西要收藏,感谢分享啊
4 楼 moguicy 2012-12-08  
博主很用心,值得学习,知识就是在于分享和交流...
3 楼 glovebx 2012-12-08  
  感谢分享这么全面的资料
2 楼 jackyrong 2012-12-08  
能搞成pdf或者chm提供下载么?

相关推荐

    SpringSecurity3.1.3的jar包

    1. **spring-security-core-3.1.3.RELEASE.jar**:这是Spring Security的核心模块,它提供了基本的安全抽象,如安全上下文、权限表达式、访问决策管理器和认证管理器。这个模块实现了基于角色的访问控制(RBAC),并...

    spring-security-3.1.3.RELEASE.jar

    Spring Security的访问控制机制包括访问决策管理器(Access Decision Manager)、访问决策投票器(Access Decision Voter)和权限表达式(PermissionEvaluator)。3.1.3.RELEASE版本中的授权策略可以根据角色、URL、...

    spring-security-3.1.3.RELEASE-dist.zip

    首先,Spring Security的核心概念包括安全拦截器、访问决策管理器、用户详情服务、权限表达式和认证提供者等。安全拦截器是基于Spring AOP(面向切面编程)实现的,它可以在请求被处理之前进行拦截,根据预定义的...

    spring-security3.1.3版本jar包(全)

    Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于Java应用程序。...总的来说,Spring Security 3.1.3为开发者提供了强大而灵活的安全管理工具,帮助创建安全的Java应用程序。

    spring security 3.1.3 源码含sample源码

    Spring Security的授权机制基于访问决策管理器(AccessDecisionManager),它支持多种策略,如投票、基于角色的访问控制(RBAC)等。Access Control Expression (ACE)允许在配置中使用表达式来定义权限。 **4. Filter ...

    spring-security-3.1.3.RELEASE-dist

    Spring Security通过访问决策管理器和权限表达式语言实现细粒度的授权,如基于角色的访问控制(RBAC)和基于权限的访问控制(ABAC)。 二、主要组件 1. Filter Security Interceptor(过滤器安全拦截器):这是...

    spring3源码集合

    spring-security-acl-3.1.3.RELEASE-sources.jar spring-security-config-3.1.3.RELEASE-sources.jar spring-security-core-3.1.3.RELEASE-sources.jar spring-security-taglibs-3.1.3.RELEASE-sources.jar spring-...

    spring-security-crypto-3.1.3.RELEASE.jar

    spring 加密技术所需的JAR包. http://grepcode.com/snapshot/repo1.maven.org/maven2/org.springframework.security/spring-security-crypto/3.1.3.RELEASE

    spring-security-samples-contacts-3.1.3 源码实例

    Spring Security是Spring生态体系中的核心组件,负责应用的安全性,包括认证、授权、会话管理等。它通过拦截器机制,在请求处理之前进行权限检查,确保只有经过认证和授权的用户才能访问特定资源。 2. **认证与...

    spring-security-3.1.3.RELEASE

    《Spring Security 3.1.3.RELEASE:构建安全的Java Web应用》 Spring Security是Java平台上一个强大的安全框架,广泛应用于构建企业级的Web应用程序。这个版本——3.1.3.RELEASE,是该框架的一个稳定版本,为开发者...

    Spring Security 3.1.3配置实例

    Spring Security 是一个强大的且高度可定制的访问控制和身份管理框架,广泛应用于Java企业级应用中,用于提供安全服务,如认证、授权等。在这个3.1.3版本的配置实例中,我们将深入探讨如何设置和操作这个框架,以...

    spring security3.1.3 和 spring security3.0.0

    Spring Security是Spring生态体系中的一个核心组件,主要负责应用程序的安全性,包括认证、授权和访问控制。本话题将深入探讨Spring Security的3.0.0和3.1.3两个版本,这两个版本都是该框架历史上的重要里程碑。 ...

    spring security3.0所需要的最精简的jar包

    Spring Security 是一...总之,Spring Security 3.0提供了一套完整的安全解决方案,其核心组件包括了认证、授权、Web安全和对象级别的权限控制。理解和掌握这些jar包的功能,能够帮助开发者有效地构建安全的应用程序。

    spring_security_3.1

    2. **授权**:Spring Security 通过访问决策管理器(Access Decision Manager)和访问决策投票器(Access Decision Voter)来实现授权。它可以基于角色、权限、URL或方法级别进行控制。3.1版引入了表达式语言...

    springsecurity3.1.3 案例

    一旦用户被认证,Spring Security会根据预定义的角色和权限进行授权。 授权可以通过访问控制表达式(ACE)或访问决策投票器(Access Decision Voter)来实现。ACE允许你在URL、方法级别或自定义的安全上下文中定义...

    springSecurity3.1.3.rar

    springSecurity springSecurity3.1.3

    SpringSecurity3.1.3 Demo

    SpringSecurity3.1.3 + JDK1.7 + Maven3.3.3 + Jetty9,提供基本的pom.xml,applicationContext.xml,web.xml配置和jetty插件的配置

    spring3.1 官方全部jar包

    spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....

    spring-security Mybatis web项目

    1、系统框架的搭建:项目底层使用Spring4.0.2+SpringMVC4.0...2、系统验证框架:spring-security3.1.3 3、webservice框架:cxf3.0.0 4、系统管理模块:实现系统登录、首页功能设计与开发、页面设计、用户管理、角色管理

    SpringSecurity 3.0.1.RELEASE.CHM

    1.1. Spring Security是什么? 1.2. 历史 1.3. 发行版本号 1.4. 获得Spring Security 1.4.1. 项目模块 1.4.1.1. Core - spring-security-core.jar 1.4.1.2. Web - spring-security-web.jar 1.4.1.3. Config -...

Global site tag (gtag.js) - Google Analytics