【问题标题】:Spring Security featuresSpring 安全特性
【发布时间】:2012-08-26 21:07:53
【问题描述】:

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

在我们的 Java EE 规范中:

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

那么 Spring 3.0 为我提供了哪些额外的安全功能?

【问题讨论】:

    标签: spring security jakarta-ee


    【解决方案1】:

    即使您只需要一些相当简单的身份验证,Spring Security 也支持许多简单但有用的功能(想想注销后的重定向、重定向到所有 URL 上的登录页面,记住我)。使用 Java EE,您最终将自己编写此代码,并且 - 可能 - 搞砸了,因此您将拥有一个不安全的应用程序。

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

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

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

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

    【讨论】:

    【解决方案2】:

    ACL 是一个杀手级功能!

    @参见:Spring 安全参考Chapter 17. Domain Object Security (ACLs)


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

    【讨论】:

    • @dublintech:我为 ACL 添加了一个赞。用户注册是我在几个项目中做过的事情。最后它只不过是一个定制的 org.springframework.security.core.userdetails.UserDetailsS​​ervice -- 这就是我的意思,Spring 允许我交换(几乎所有)功能。
    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 2014-09-11
    • 2020-07-01
    • 2017-12-21
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多