Spring Security

本文介绍SpringSecurity框架的基础概念及其在Web应用中的使用方法。包括增强URL访问安全、实现用户登录及验证、方法调用级别的访问控制等。同时探讨了视图和领域对象层面的安全措施。

Spring Security是Spring的一个框架,用于加固应用安全。

Spring Security可以加强任何Java应用的安全,但最常用于基于Web的应用。

 

处理安全性需要理解的几个术语和概念。

验证(Authentication)

凭据(Credential)

授权(Authorization)

访问控制(Access Control)

 

理解安全性的基本概念,知道如何在URL访问级别、方法调用级别、视图显示级别和领域对象级别上加固Web应用安全。

 

第一节:加强URL访问安全

首先用Spring MVC构造了一个留言板,然后用Spring Security来加强Web的URL访问安全。可以匿名查看留言,但是添加和删除留言必须登录。

第二节:登录到Web应用

支持多种用户登录web应用。

HTTP基本验证

基于表单的登录

注销服务

匿名登录

Rember-me支持(cookie)

第三节:验证用户

大部分常见的验证提供者利用存储用户细节的用户存储库(内存、关系型数据库或者LDAP存储库)验证用户。

存储用户细节时避免用明文存储用户密码,这样容易遭到攻击。应以加密的方式存储,典型的方法是次啊用单向散列函数对密码进行编码(MD5或SHA)。

如果每次用户登录都要从用户存储库中读取用户细节,应用的性能会受到影响,Spring Security支持在本地内存和存储上缓冲用户细节,节约开销。

用内存中的定义验证用户

依靠数据库验证用户

加密密码

根据LDAP存储验证用户

缓存用户细节

第四节:做出访问控制

成功登录之后,应用必须授予该用户权限或其他特征允许访问哪些资源。

基于投票的访问决策管理器

第五节

作为Web层中加固URL访问的替代或者补充,有时候你可能需要在服务层中加强方法调用的安全。

嵌入安全拦截器

用切入点加强方法安全

用注解加强安全

 

第六节 处理视图中的安全性

显示验证信息

有条件的显示视图内容

 

第七节 处理领域对象安全性

当用户试图删除留言,可以查询这条留言的ACL,确定用户是否有权删除这条留言。

设置ACL服务

为领域对象维护ACL

根据ACL做出访问决策

处理方法返回的领域对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值