AuthenticationProviderManager,
有ProviderManager必然就要有Provider了。Provider有好几种: DAO, Cas, Jaas, LDAP, Remote。
常用的DAO Provider需要
1) UserDetailService用于检索用户。Spring Security实现了一个memory的,一个JDBC的UserDetailService。
2) password Encoder设置。
3) catch设置。
AccessDecisionManager
authentication provider manager通过它管理的authentication provider验证了你是谁,而access decision manager通过其管理的voter决定你是否有权访问特定的资源。
Web filter
可以证明你是谁,你能访问什么之后。就需要把这两个功能实施到应用中去。对于web程序,很自然,是通过filter实现的。一共4个filter来完成保护web资源的问题。
1) 集成过滤器。 检索存储在session中的认证信息。
2) 认证处理过滤器。 处理用户的认证请求(含有用户名/密码)。
3) 例外转换过滤器。 出现安全exception后的拦截。比如转向登陆页面、提示没有权限。
4) 过滤器安全拦截器。 设置保护哪些资源。并且这个过滤器通过authentication provider manager, access decision manager的帮助决定是否授予对保护资源的访问权限。
Spring 为了解决向web servlet fielter解决注入的问题,提供了两个filter proxy。一个用于单个的filter---FilterToBeanProxy,一个用于filter chain---FilterChainProxy.
JSP tag
<authz:authentication> 可以得到用户的信息。
<authz:authorize> 可以得到用户的授权信息。
疑问:
对数据的保护?
web fileter只是提供了对url的权限控制,但是并没有对数据进行权限控制。比如,loadMyDetail.jsp?userId=2这URL就应该只能被uesrId=2的用户使用才对。但是如果只对loadMyDetail.jsp进行url配置,其他用户通过自己的授权却能够访问其他用户的信息。这问题不知道在ACEGI中是否有解决方案。
性能?
这么多的filter, provider, voter对性能的影响不知有多大?
如何在login页面显示错误信息?
分享到:
相关推荐
Manning.Spring.in.Action.4th.Edition.2014.11.zip 压缩包包含: 1.Manning.Spring.in.Action.4th.Edition.2014.11.epub 2.Manning.Spring.in.Action.4th.Edition.2014.11.pdf Manning Spring in Action 4th ...
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action CN.005<br>Spring in Action CN.006<br>Spring in Action CN.007<br>Spring in ...
通过学习《Spring in Action》中文版6-11章节,读者将能够掌握Spring框架的核心功能,理解如何在实际项目中运用Spring进行高效开发,并具备解决复杂问题的能力。同时,了解Spring生态中的其他组件如Spring Boot和...
7. **Spring Cloud**:对于分布式系统开发者,Spring Cloud提供了一套工具集,用于配置、发现、负载均衡和服务调用。这包括Eureka服务发现、Zuul边缘服务和Ribbon客户端负载均衡器等。 8. **测试**:学习如何使用...
Praise for the Third Edition of Spring in Action Preface Acknowledgments About this Book 1. Core Spring Chapter 1. Springing into action 1.1. Simplifying Java development 1.1.1. Unleashing the power ...
7. **Spring Boot**:Spring Boot是Spring的一个子项目,旨在简化Spring应用的初始搭建以及开发过程。它预设了默认配置,减少了开发者需要编写的基础设置代码。 8. **Spring Security**:这个模块提供了全面的安全...
Spring in Action CN.001<br>Spring in Action CN.002<br>Spring in Action CN.003<br>Spring in Action CN.004<br>Spring in Action CN.005<br>Spring in Action CN.006<br>Spring in Action CN.007<br>Spring in ...
《Spring in Action》是关于Spring框架的一本权威指南,特别是第四版,它深入浅出地介绍了如何使用Spring框架构建高效、灵活的Java应用。这本书涵盖了从基础到高级的多个Spring核心概念和技术,包括依赖注入、AOP...
Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础,无需EJB而功能依然强大的轻量级J2EE开发框架。Spring大大简化了使用接口开发的... 中文版.part7.rar Spring in Action. 中文版.part8.rar
Spring in Action 中文版 pdf 经典 权威 经典 值得一看
Manning.Spring.in.Action.4th.Edition
7. **Spring Boot**:Spring Boot是近年来Spring生态中非常流行的一个组件,它简化了Spring应用的初始搭建以及配置过程,通过默认设置让开发者能够快速启动和运行项目。 8. **Spring Cloud**:在分布式系统中,...
Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础,无需EJB而功能依然强大的轻量级J2EE开发框架。Spring大大简化了使用接口开发的... 中文版.part7.rar Spring in Action. 中文版.part8.rar
### Spring Boot in Action #### 知识点概览 1. **Spring Boot 介绍与特点** - **Spring Boot 的核心理念**:自动配置、起步依赖、外部化配置。 - **Spring Boot 不是什么**:它不是框架替代品,而是一种简化...
《Spring in Action 第二版 第五章》 在IT领域,Spring框架是Java开发中的一个核心组件,尤其在企业级应用开发中占据了重要的地位。"Spring in Action"是一本广泛认可的Spring框架实战指南,第二版则深入浅出地讲解...
7. **测试**:Spring Boot提供了强大的测试支持,包括单元测试、集成测试和端到端测试。书中会介绍如何编写和运行这些测试,确保代码质量。 8. **部署和生产环境**:最后,书籍还会涉及Spring Boot应用的打包、部署...