技术开发 频道

使用Spring Security保护Web应用的安全

  记住用户

  有些 Web 应用会在登录界面提供一个复选框,询问用户是否希望在当前计算机上记住自己的密码。如果用户勾选此选项的话,在一段时间内用户访问此应用时,不需要输入用户名和密码进行登录。Spring Security 提供了对这种记住用户的需求的支持。只需要在 中添加 元素即可。

  一般来说,有两种方式可以实现记住用户的能力。一种做法是利用浏览器端的 cookie。当用户成功登录之后,特定内容的字符串被保存到 cookie 中。下次用户再次访问的时候,保存在 cookie 中的内容被用来认证用户。默认情况下使用的是这种方式。使用 cookie 的做法存在安全隐患,比如攻击者可能窃取用户的 cookie,并用此 cookie 来登录系统。另外一种更安全的做法是浏览器端的 cookie 只保存一些随机的数字,而且这些数字只能使用一次,在每次用户登录之后都会重新生成。这些数字保存在服务器端的数据库中。如果希望使用这种方式,需要创建一个数据库表,并通过 data-source-ref属性来指定包含此表的数据源。

  总结

  对于使用 Spring 开发的 Web 应用来说,Spring Security 是增加安全性时的最好选择。本文详细介绍了 Spring Security 的各个方面,包括实现基本的用户认证和授权、保护服务层方法、使用访问控制列表保护具体的领域对象、JSP 标签库和与 LDAP 和 OAuth 的集成等。通过本文,开发人员可以了解如何使用 Spring Security 来实现不同的用户认证和授权机制。

0
相关文章