作者:empty 页数:209 出版社:empty |
序言为啥选择Spring Security欢迎阅读咱们写的Spring Security教程, 咱们既不想写一个简单的入门教程, 也不想翻译已有的国外教程。咱们这个教程就是建立在咱们自己做的OA的基础上,一点一滴总结出来的经验和教训。首先必须一提的是, Spring Security出身名门, 它是Spring的一个子项目http//static.springsource.org/spring-security/site/index.html.它之前有个很响亮的名字Acegi。这个原本坐落在sf.net上的项目, 后来终于因为跟spring的紧密连接, 在2.0时成为了Spring的一个子项目。即使是在开源泛溢的Java领域, 统一权限管理框架依然是稀缺的, 这也是为什么Spring Security(Acegi) 己出现就受到热捧的原因, 据俺们所知, 真到现在也只看到apache社区的j security在做同样的事情。(据小道消息, j security还很稚嫩。)Spring Security(Acegi) 支持一人堆的权限功能, 然后它又和Spring这个当今超流行的框架整合的很紧密, 所以我们选择它。实际上白从Acegi时代它就很有名了。内容结构组织咱们要循序渐进,深入浅出的把整个教程分成几个阶段,一点一点儿慢慢写。反正不用赶稿,从头开始慢慢考虑如何更好的整理自己的思绪不会是一种浪费时间行为。
第1部分“基础篇”。环境搭建,进行最简单的配置。第Ⅱ部分“保护web篇”。谈谈对url的权限控制。第Ⅲ部分“内部机制篇”。对方法调用进行权限控制。第ⅣV部分“ACL篇”, 实现ACL(AccessControl List) ,第V部分“最佳实践篇”。包含最佳实践,可以当做是OA里权限模块的总结。意见反馈咱们的例了都是一一运行过的,文档内容都是好几个人复审过的。但是毕竟百密一疏,没人敢说自己不会犯错,所以如果同志们在文档或者例子上发现了任何问题,可以通过以下几个途径跟咱们联系。其实不只是错误,如果对咱们的东西有什么改进意见,或者有什么需要讨论的,不用见外,真接用以上途径找咱们聊天。
第1章一个简单的HellWrld.
第2章使用数据库管理用户权限.
部分L基础篇.
部分II.保护web篇.
1.1.配置过滤器.
1.2.使用命名空间.
1.3.完善整个项目.
1.4.运行示例.
2.1.修改配置文件.
2.2数据库表结构.
第3章自定义数据库表结构.
3.1.自定义表结构.
3.2.初始化数据.
3.3.获得自定义用户权限信息.
第4章自定义登陆页面.
4.1.实现自定义登陆页面.
4.2.修改配置文件.
4.3.登陆页面中的参数配置.
4.4.测试下.
5.3.实现从数据库中读取资源信息.
3.3.1.处理用户登陆.
3.3.2.检验用户权限.
第5章使用数据库管理资源.
5.1.数据库表结构.
5.2.初始化数据.
第6章控制用户信息.
6.1.MD5加密.
6.2盐值加密.
6.3.用户信息缓存.
6.4.取当前用户信息.
5.3.1.需要何种数据格式.
5.3.2.智换原有功能的切入点.
第7章自定义访问拒绝页面
第8章动态管理资源结合自定义登录页面.
第9章图解过滤器.
9.1.HttpSessin Cntext Integratin Filter.
9.2.Lgut Filter.
9.3.Authenticatin Prcessing Filter.
9.4.Default Lgin Page Generating Filter.
9.5.Basic Prcessing Filter.
9.6.Security Cntext Hlder Aware Request Filter.
9.7.Remember Me Prcessing Filter.
9.8.Annymus Prcessing Filter.
9.9.Exceptin Translatin Filter.
9.10.Sessin Fixatin Prtectin Filter.
9.11.Filter Security Interceptr.
第10章管理会话.
10.1.添加监听器.
10.2.添加过滤器.
10.3.控制策略.
第11章单点登录.
11.1.配置JA-SIG.
11.2.配置Spring Security.
11.3.运行配置了cas的子系统.
10.3.1.后登陆的将先登录的踢出系统.
10.3.2.后面的用户禁止登陆.
11.2.1.添加依赖.
11.2.2.修改applicatinCntext xml.
11.4.为cas配SSL.
第12章basie认证.
12.1.配置basic验证.
12.2.编程实现basic客户端.
第13章标签库.
13.1.配置taglib.
13.2.authentic a it n.
13.3.authrize.
13.4.acl/accesscntrllist.
13.5.为不同用户显示各白的登陆成功页面.
第14章自动登录.
14.1.默认策略.
14.2.持久化策略.
第15章匿名登录.
15.1.配置文件.
15.2.修改默认用户名.
1L4.1.生成密钥.
11.4.2.为jetty配置SSL.
11.4.3.为t meat管SSL.
15.3.匿名用户的限制.
第16章防御会话伪造.
16.1.政击场景.
16.2.解决会话伪造.
第17章预先认证.
17.1.为jetty配置Realm.
17.2.配置Sping Security.
第18章切换用户,.
18.1.配置方式.
18.2.实例演示.
第19章信道安全.
19.1.设置信道安全.
19.2.指定http和https的端.
第20章digest认证.
20.1.配置digest验证.
20.2.使用ajax实现digest认证.
20.3.编程实现digest客户端.
第21章通过LDAP获取用户信息.
第22章通过penID进行登录.
22.1.配置.
22.2.系统时间问题.
第23章使用X509登录.
23.1.生成证书.
23.2.配置服务器使用双向加密.
23.3.配置X509认证.
第24章使用NTLM登录(无法成功登陆) .
第25章使用JAAS机制.
第26章使用Hup Invke.
第27章使用mmi.
第28章控制prtal的权限.
第29章保存登录之前的请求.
第30章保护方法调用.
30.1.控制全局范围的方法权限.
30.2.控制某个bean内的方法权限.
30.3.使用anntatin控制方法权限.
第31章权限管理的基本概念.
31.1.认证与验证.
31.2.Security Cntext安全上下文.9119
31.3.Authenticatin验证对象.
第32章Vter表决者.
32.1.Vter表决者.
32.2.Rle Vter.
32.3.Authenticated Vter.
32.4.Abstract Acl Vter.
部分Ⅱ内部机制篇.
使用intercept-methds面临着几个问题.
30.3.1.使用Secured.
30.3.2.使用jsr 250.
第33章拦截器.
33.1.权限配置数据源.
33.2.权限管理器.
33.3.后置调用管理器.
33.4.临时分配额外权限.
第34章用户信息.
34.1.User Details.
34.2.使用角色继承.
34.3.为ACL添加角色继承.
34.4.Passwrd Encder和Salt Value.
第35章集成j captcha.
第36章动态资源管理.
36.1.基本知识.
36.2.读取资源.
36.3.URL资源扩展点.
36.4.METHD资源扩展点.
第37章扩展User Details.
37.1.实现User Details接.
37.2.实现User Details Service接.
37.3.修改配置文件.
37.4.测试运行.
第38章镜定用户.
第39章设置过滤器链.
第40章自定义过滤器.
第41章使用用户组.
41.1.数据库结构.
41.2.修改配置文件.
第42章在JSF中使用Spring Security.
42.1.修改过滤器支持frward.
42.2.自定义登录页面.
42.3.显示密码错误信息.
第43章自定义会话管理.
43.1.默认策略的缺陷.
43.2.记录用户名与ip.
43.3.改造控制类.
43.4.修改配置文件.
第44章匹配URL地址.
44.1.Ant Url Path Matcher.
44.2.Regex Url Path Mai cher.
44.3.lwercase-cmparisns.
第45章配置过滤器.
45.1.标准过滤器.
45.2.在http中启用标准过滤器.
45.3.为自定义过滤器设置位置.
部分IV.ACL篇.
第46章ACL基本操作.
部分V.最佳实践篇.
46.1.准备数据库和acl Service.
46.2.使用acl Service管理a el信息.
46.3.使用acl控制delete操作.
46.4.控制用户可以看到哪些信息.
第47章管理acl.
47.1.管理多个dmain类.
47.2.动态授权与收回投权.
H.3.1.RBAC模型的形式定义如下.
H.4.1.定义2:RBAC:由以下内容确定
46.1.1.为acl配置cache.
46.1.2.配置lkup Strategy.
46.1.3.配置acl Service.
47.2.1.获得对象的acl权限.
47.2.2.添加授权.
47.2.3.收回授权.
第48章acl白动提醒.
48.1.自动创建a el.
48.2.自动除acl.
48.3.根据id删除ac.
第49章最简控制台.
49.1.平台搭建.
49.2.用户登录.
49.3.用户信息列表.
49.4.添加用户.
49.5.修改用户信息.
49.6.修改自己的密码.
第50章用户组控制台.
50.1.添加对用户组的支持.
50.2.浏览用户组.
50.3.创建用户组.
50.4.修改用广组.
附录B.常见问题解答.
附录C.Spring Security-3.0.0M 1.
C-L.HellWrld.
C.2.Spring-EL.
C.3.Rle Hierarchy.
C.4.Success Handler.
C 5.REST下的权限控制.
附录D.命名空间.
D.1.http.
D.2.authenticatin-prvider.
D.3.Id ap-server.
D.4.glbal-methd-security.
附录E.数据库表结构.
E.1.User.
E.2.Grup.
E.3.Remember Me.
E.4.ACL.
附录F.异常.
rg springframewrk.security.
rg-springframewrk.security.cn curren.
rg springframewrk.securitycnfig.
rg-springframewrk.security.ldap.
rg.springframewrk.security prvider.
rg.springframewrk.security.prvider rep.
rg.springframewrk.security.user