Spring 提供了哪些 Java EE 规范尚未提供的安全特性?
在 Java EE 规范中,我们有:
- web.xml 中的一系列 sevlet 安全选项。大多数人会配置基本或基于表单的身份验证。他们将 Java EE 应用程序链接到 LDAP 服务器——存储用户/组。请求将被加密并通过 HTTPS 进入。
- 可以注释任何 EJB 并且只允许某些角色执行某些方法
- 能够以编程方式在运行时检查用户原则
那么 Spring 3.0 为我提供了哪些安全附加功能?
Spring 提供了哪些 Java EE 规范尚未提供的安全特性?
在 Java EE 规范中,我们有:
那么 Spring 3.0 为我提供了哪些安全附加功能?
即使您只需要一些相当简单的身份验证,Spring Security 也提供了对许多简单但有用的功能的支持(想想注销后的重定向,在所有 URL 上重定向到登录页面,记住我)。使用 Java EE,您最终将自己编写此代码,并且 - 可能 - 搞砸了,因此您将拥有一个不安全的应用程序。
Spring Security 适用于许多标准/协议/等。开箱即用(LDAP、JAAS、X.509)。还有更高级的东西,比如 SSO 或 ACL。如果标准功能不适合您,您可以相当轻松地自定义它,通常只需要一点代码。
我还喜欢它是相当非侵入性的,您的控制器/动作/...类通常不必参与。
也就是说,如果您是第一次使用它,则需要一些时间来设置 Spring Security 并习惯它。
(最后,这是他们自己的功能列表:http ://static.springsource.org/spring-security/site/features.html )
一个杀手级功能是 ACL!
@参见:Spring Security Reference Chapter 17. Domain Object Security (ACLs)
而且我感觉 Spring Security 更容易定制。例如,如果您需要一个用户管理,用户可以在此电子邮件地址得到确认后自行注册并获得一些有限的权限和其他一些权限。