您的位置:首页 > 编程语言 > Java开发

spring security权限管理手册

2015-07-31 15:20 507 查看
序言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. HttpSessionContextIntegrationFilter11.2. LogoutFilter11.3. AuthenticationProcessingFilter11.4. DefaultLoginPageGeneratingFilter11.5. BasicProcessingFilter11.6. SecurityContextHolderAwareRequestFilter11.7. RememberMeProcessingFilter11.8. AnonymousProcessingFilter11.9. ExceptionTranslationFilter11.10. SessionFixationProtectionFilter11.11. FilterSecurityInterceptor12. 管理会话

12.1. 添加监听器12.2. 添加过滤器12.3. 控制策略

12.3.1. 后面的用户禁止登陆12.3.2. 后登陆的将先登录的踢出系统13. 单点登录

13.1. 配置JA-SIG13.2. 配置Spring Security

13.2.1. 添加依赖13.2.2. 修改applicationContext.xml13.3. 运行配置了cas的子系统13.4. 为cas配置SSL

13.4.1. 生成密钥13.4.2. 为jetty配置SSL13.4.3. 为tomcat配置SSL14. basic认证

14.1. 配置basic验证14.2. 编程实现basic客户端15. 标签库

15.1. 配置taglib15.2. authenticaiton15.3. authorize15.4. acl/accesscontrollist15.5. 为不同用户显示各自的登陆成功页面16. 自动登录

16.1. 默认策略16.2. 持久化策略17. 匿名登录

17.1. 配置文件17.2. 修改默认用户名17.3. 匿名用户的限制18. 防御会话伪造

18.1. 攻击场景18.2. 解决会话伪造19. 预先认证

19.1. 为jetty配置Realm19.2. 配置Spring Security20. 切换用户

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. 使用HttpInvoker29. 使用rmi30. 控制portal的权限31. 保存登录之前的请求32. 记录操作日志III. 内部机制篇

33. 保护方法调用

33.1. 控制全局范围的方法权限33.2. 控制某个bean内的方法权限33.3. 使用annotation控制方法权限

33.3.1. 使用Secured33.3.2. 使用jsr25034. 权限管理的基本概念

34.1. 认证与验证34.2. SecurityContext安全上下文34.3. Authentication验证对象35. Voter表决者

35.1. Voter表决者35.2. RoleVoter35.3. AuthenticatedVoter35.4. AbstractAclVoter36. 拦截器

36.1. 权限配置数据源36.2. 权限管理器36.3. 后置调用管理器36.4. 临时分配额外权限37. 用户信息

37.1. UserDetails37.2. 使用角色继承37.3. 为ACL添加角色继承37.4. PasswordEncoder和SaltValue38. 集成jcaptcha39. 动态资源管理

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. 修改过滤器支持forward45.2. 自定义登录页面45.3. 显示密码错误信息46. 自定义会话管理

46.1. 默认策略的缺陷46.2. 记录用户名与ip46.3. 改造控制类46.4. 修改配置文件47. 匹配URL地址

47.1. AntPathRequestMatcher47.2. RegexRequestMatcher48. 配置过滤器

48.1. 标准过滤器48.2. 在http中启用标准过滤器48.3. 为自定义过滤器设置位置49. 监控会话过期

49.1. 实现原理49.2. 代码实现49.3. 目前实现的缺陷50. 多个登陆页面

50.1. 未登录自动跳转到对应的登录页面50.2. 密码出错时返回对应页面51. 角色继承

51.1. 使用RoleHierarchyVoter51.2. 使用数据库实现RoleHierarchy52. 设置方法拦截器IV. ACL篇

53. ACL基本操作

53.1. 准备数据库和aclService

53.1.1. 为acl配置cache53.1.2. 配置lookupStrategy53.1.3. 配置aclService53.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. 自动创建acl55.2. 自动删除acl55.3. 根据id删除aclV. 最佳实践篇

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 WorldC.2. Spring-ELC.3. RoleHierarchyC.4. Success HandlerC.5. REST下的权限控制C.6. 管理会话同步D. 命名空间

D.1. httpD.2. authentication-providerD.3. ldap-serverD.4. global-method-securityE. 数据库表结构

E.1. UserE.2. GroupE.3. RememberMeE.4. ACLF. 异常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. 统一模型RBAC3H.7. 定义4H.8. 在ARBAC97中,包括三种组件H.9. RBAC模型的特点H.10. 基于party的模型H.11. 有关operationI. 认证流程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: