1

使用 Tomcat(或 Websphere)容器管理的安全性的常见替代方法是什么?

我有一个令人不快的安全库,它从多个地方提取授权和身份验证,最初将在 Tomcat 上进行早期开发,然后在 Websphere 上进行后期开发和生产。而不是通过 JAAS 为 Tomcat 设置自定义领域所需的 hack-a-doo,然后在 WAS 上进行另一轮 hack,是否有任何常见的替代方案?

我只在 Tomcat 上做过基于领域的安全性。我见过一些有趣的自制方法,例如在会话http://www.vitarara.org/cms/struts_2_cookbook/creating_a_login_interceptor中监视用户对象。我也很好奇 wiki 页面(例如)如何与http://host.com/view.jsp?a_wiki_page设法保持角色直接,因为这似乎是 wiki 和 bbs 通常需要的,也许这是我的解决方案?

有什么建议吗?

4

2 回答 2

3

Spring Security 是一种流行的替代方案:

http://www.springsource.org/spring-security

于 2012-05-22T21:54:44.567 回答
1

Spring Security 提供了一种全面的、与容器无关的方法,我已经在 WebSphere 和 Tomcat 上成功使用了该方法(特别是在 Tomcat 上构建/测试并在 WebSphere 上部署)。

我真正喜欢该框架的地方在于,它为您提供了一个以应用程序为中心、与源代码无关的当前用户及其在应用程序中的权限的视图。这意味着您可以从任何地方加载用户和权限,并且只需要关注配置的来源(LDAP、数据库、属性文件、内存中测试对象、SAML 断言等)

它还为您提供了许多您在 Java EE Security 中根本没有定义的细粒度授权控制(基于 URL 和基于方法)。您可以使用正则表达式和 Ant 样式的表达式进行模式匹配,否则您将无法使用。表达式语法也相当丰富。如果您需要进行特定于数据的访问控制,则提供 DDL 供您添加到数据库并直接集成到您的安全中。

Spring Security 使用“/*” URL 映射(或您选择保护的任何映射)作为过滤器运行对 Web 容器的所有请求。

于 2012-05-24T14:56:02.547 回答