Spring Security功能

时间:2012-08-26 21:07:54

标签: spring security java-ee

Spring提供了哪些Java EE规范尚未提供的安全功能?

在Java EE规范中,我们有:

  1. web.xml中的一系列sevlet安全选项。大多数人将配置基本或基于表单的身份验证。它们将Java EE应用程序链接到LDAP服务器 - 存储用户/组。请求将被加密并通过HTTPS传入。
  2. 可以注释任何EJB,只允许某些角色执行某些方法
  3. 能够以编程方式在运行时检查用户原则
  4. 那么Spring 3.0给我的安全附加功能呢?

2 个答案:

答案 0 :(得分:2)

即使您只需要一些相当简单的身份验证,Spring Security也会为许多简单但有用的功能提供支持(考虑在注销后重定向,重定向到所有URL上的登录页面,请记住)。使用Java EE,你最终会自己编写这个 - 并且 - 可能 - 搞砸了所以你会有一个不安全的应用程序。

Spring Security适用于许多标准/协议/等。开箱即用(LDAP,JAAS,X.509)。还有更高级的东西,如SSO或ACL。如果标准功能不适合您,您可以相当容易地进行自定义,通常只需要一些代码。

我还喜欢它是非常侵入性的,你的控制器/动作/ ......类通常不需要参与。

也就是说,如果您是第一次使用它,则需要一些时间来设置Spring Security并习惯它。

(最后,这是他们自己的功能列表:http://static.springsource.org/spring-security/site/features.html

答案 1 :(得分:1)

一个杀手级功能是ACL!

@See:Spring Security Reference Chapter 17. Domain Object Security (ACLs)


我觉得Spring Security更容易定制。例如,如果您需要用户管理,用户可以自行注册并有限地获得某些权限,并且在此电子邮件地址之后的其他人已经确认。