- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Spring Security 保护Web 应用的安全pdf
使用 Spring Security 保护 Web 应用的安全
developerWorks 中国
Java technology
文档库
简介: 安全一直是 Web 应用开发中非常重要的一个方面。从安全的角度来说,需要考虑用户认证和授权
两个方面。为 Web 应用增加安全方面的能力并非一件简单的事情,需要考虑不同的认证和授权机制。
Spring Security 为使用 Spring 框架的 Web 应用提供了良好的支持。本文将详细介绍如何使用 Spring
Security 框架为 Web 应用提供安全支持
在 Web 应用开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初
期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全
漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复
安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应
用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。
本文详细介绍了如何使用 Spring Security 来保护 Web 应用的安全。Spring Security 本身以及 Spring 框架带来的灵
活性,能够满足一般 Web 应用开发的典型需求,并允许开发人员进行定制。下面首先简单介绍 Spring Security。
Spring Security 简介
Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安
全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证 (Authentication)和用户授权 (Authorization)两
个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用
户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个
操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可
以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。
对于上面提到的两种应用情景,Spring Security 框架都有很好的支持。在用户认证方面,Spring Security 框架支持主
流的认证方式,包括 HTTP 基本认证、HTTP 表单验证、HTTP 摘要认证、OpenID 和 LDAP 等。在用户授权方面,
Spring Security 提供了基于角色的访问控制和访问控制列表 (Access Control List,ACL),可以对应用中的领域对象进
行细粒度的控制。
本文将通过三个具体的示例来介绍 Spring Security 的使用。第一个示例是一个简单的企业员工管理系统。该系统中存
在三类用户,分别是普通员工、经理和总裁。不同类别的用户所能访问的资源不同。对这些资源所能执行的操作也不相
同。Spring Security 能帮助开发人员以简单的方式满足这些安全性相关的需求。第二个示例展示了如何与 LDAP 服务
器进行集成。第三个示例展示了如何与 OAuth 进行集成。完整的示例代码见 参考资料。下面首先介绍基本的用户认证
和授权的实现。
回页首
基本用户认证和授权
本节从最基本的用户认证和授权开始对 Spring Security 进行介绍。一般来说,Web 应用都需要保存自己系统中的用户
信息。这些信息一般保存在数据库中。用户可以注册自己的账号,或是由系统管理员统一进行分配。这些用户一般都有
自己的角色,如普通用户和管理员之类的。某些页面只有特定角色的用户可以访问,比如只有管理员才可以访问 /admin
这样的网址。下面介绍如何使用 Spring Security 来满足这样基本的认证和授权的需求。
首先需要把 Spring Security 引入到 Web 应用中来,这是通过在 web.xml 添加一个新的过滤器来实现的,如 代码清
单 1 所示。
清单 1. 在 web.xml 中添加 Spring Security 的过滤器
filter
filter-namespringSecurityFilterChain/filt
您可能关注的文档
- 从《汉书》称《诗》论定《毛诗序》基本完成于《史记》之前兼答张启成先生的商榷.pdf
- 从公共性视角出发探索校园文化活动中心的空间塑造以重庆大学文化活动中心投标方案为例.pdf
- 从中泰两国文字差异看泰国学生汉字书写偏误--以泰国尖竹汶职业技术学院为例.pdf
- 从北京奥运会看体育展示系统的发展兼论体育展示与智能化系统的关系.pdf
- 从国际比较看中国个人所得税发挥再分配功能的改革思路.pdf
- 从城市规划环境影响评价看规划环评与建设项目环评的区别.pdf
- 从敦煌结社活动探讨人的群体性以及个体与集体的关系.pdf
- 从梁济 quot;自沉 quot;看中国近代遗老的文化心态.pdf
- 从梁济“自沉”看中国近代遗老的文化心态.pdf
- 从八皇后问题的解决方案看面向过程和面向对象.pdf
- 2024年全球及中国制药用工业空调行业头部企业市场占有率及排名调研报告.docx
- 2024-2030全球药物管理软件和程序行业调研及趋势分析报告.docx
- 2024年全球及中国电缆螺旋减振器行业头部企业市场占有率及排名调研报告.docx
- 2024-2030全球爆破专用电子控制模块行业调研及趋势分析报告.docx
- 2024-2030全球家居装饰纸行业调研及趋势分析报告.docx
- 2024年全球及中国双丝渗出器行业头部企业市场占有率及排名调研报告.docx
- 2024-2030全球单缸软冰机行业调研及趋势分析报告.docx
- 2024年全球及中国阿尔茨海默症治疗新型药物行业头部企业市场占有率及排名调研报告.docx
- 2024年全球及中国杀螟腈行业头部企业市场占有率及排名调研报告.docx
- 2024年全球及中国纺织经纱上浆剂行业头部企业市场占有率及排名调研报告.docx
最近下载
- 中医养生预防脑血管疾病的措施(3).pptx
- 教育部2024年专项任务项目(高校辅导员研究)申请评审书《增强高校辅导员与学生谈心谈话的针对性和实效性研究》.docx VIP
- YBJ-PS03-2004埋地无压预制混凝土排水圆形管管基及接口.pdf
- 家校社协同育人教联体典型案例(幼小中).doc
- 智慧教育双师课堂解决方案.pdf
- DL∕T 1949-2018 -火力发电厂热工自动化系统电磁干扰防护技术导则.pdf
- 2023云南昆明空港投资开发集团招聘7人考前自测高频考点模拟试题(共500题)含答案详解.docx
- 营销三大法宝-销售带动配合-PPT课件.ppt
- 人教版本历史七下第3课(开元盛世)课件3.ppt
- 2025考研英语一真题及答案.pdf
文档评论(0)