Spring Security
来源:互联网 发布:matlab闰年问题编程 编辑:程序博客网 时间:2024/05/17 06:37
众所周知,Spring Security针对Acegi的一个重大的改进就在于其配置方式大大简化了。所以如果配置还是基于Acegi-1.X这样比较繁琐的配置方式的话,那么我们还不如直接使用Acegi而不要去升级了。所以在这里,我将结合一个示例,重点讨论一下SpringSecurity 2是如何进行配置简化的。
搭建基础环境
首先我们为示例搭建基本的开发环境,环境的搭建方式,可以参考我的另外一篇文章:http://www.iteye.com/wiki/struts2/1321-struts2-development-environment-to-build
整个环境的搭建包括:创建合适的目录结构、加入了合适的Library,加入了基本的Jetty启动类、加入基本的配置文件等。最终的项目结构,可以参考我的附件。
Spring Security基本配置
Spring Security是基于Spring的的权限认证框架,对于Spring和Acegi已经比较熟悉的同学对于之前的配置方式应该已经非常了解。接下来的例子,将向大家展示Spring Security基于schema的配置方式。
最小化配置
这个Filter会拦截所有的URL请求,并且对这些URL请求进行Spring Security的验证。
注意,springSecurityFilterChain这个名称是由命名空间默认创建的用于处理web安全的一个内部的bean的id。所以你在你的Spring配置文件中,不应该再使用这个id作为你的bean。
与Acegi的配置不同,Acegi需要自行声明一个Spring的bean来作为Filter的实现,而使用Spring Security后,无需再额外定义bean,而是使用元素进行配置。
2. 使用最小的配置
Xml代码
这段配置表示:我们要保护应用程序中的所有URL,只有拥有ROLE_USER角色的用户才能访问。你可以使用多个元素为不同URL的集合定义不同的访问需求,它们会被归入一个有序队列中,每次取出最先匹配的一个元素使用。所以你必须把期望使用的匹配条件放到最上边。
3. 配置UserDetailsService来指定用户和权限
接下来,我们来配置一个UserDetailsService来指定用户和权限:
Xml代码
在这里,downpour拥有ROLE_USER和ROLE_ADMIN的权限,robbin拥有ROLE_USER权限,QuakeWang拥有ROLE_ADMIN的权限
- Spring Security
- Spring Security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- spring security
- Spring Security
- spring security
- spring-security
- Spring Security
- Spring Security
- spring security
- spring Security
- PHP应该掌握的知识----赶紧学习
- Java中抽象类与接口的区别
- 打包iOS应用程序
- 【Linux】生产者消费者编程实现-线程池+信号量
- 戴尔PowerVault_MD3系列存储全新软件功能
- Spring Security
- ArcGIS Engine 实现注记引线的设置
- PHP+MySQL项目开发——留言本开发笔记1
- Fab CEO:创办四家公司教给我的90件事
- EF-EntityFrameWork中文名:实体框架(数据持久化框架)
- 计算机图形学
- ORACLE日期时间函数大全
- 移植boa服务器到gec210开发板
- 异步加载图片