Tomcat web容器管理安全的常见替代方案?

Tomcat web容器管理安全的常见替代方案?,tomcat,websphere,security,Tomcat,Websphere,Security,使用Tomcat或Websphere容器管理的安全性的常见替代方案是什么 我有一个令人不快的安全库,它从多个地方获取授权和身份验证,最初将在Tomcat上进行早期开发,然后在Websphere上进行后期开发和生产。除了需要通过JAAS为Tomcat建立一个自定义领域,然后在WAS上进行另一轮黑客攻击之外,还有其他常见的替代方案吗 我只在Tomcat上做过基于领域的安全性。我看到了一些有趣的自制方法,例如在会话中监视用户对象。我也很好奇,比如wiki页面如何保持角色的直线性,因为这似乎是wiki和

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

我有一个令人不快的安全库,它从多个地方获取授权和身份验证,最初将在Tomcat上进行早期开发,然后在Websphere上进行后期开发和生产。除了需要通过JAAS为Tomcat建立一个自定义领域,然后在WAS上进行另一轮黑客攻击之外,还有其他常见的替代方案吗

我只在Tomcat上做过基于领域的安全性。我看到了一些有趣的自制方法,例如在会话中监视用户对象。我也很好奇,比如wiki页面如何保持角色的直线性,因为这似乎是wiki和bbs通常需要的,也许这就是我的解决方案


有什么建议吗?

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


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


SpringSecurity提供了一种全面的、容器中立的方法,我已经在WebSphere和Tomcat上成功地使用过,特别是在Tomcat上构建/测试和在WebSphere上部署

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

它还为您提供了许多基于URL和基于方法的细粒度授权控制,这在JavaEE安全性中是没有定义的。您可以使用正则表达式和Ant样式的表达式进行模式匹配,这在其他情况下是不会有的。表达式语法也非常丰富。如果您需要执行特定于数据的访问控制,DDL将提供给您添加到数据库中,并直接集成到您的安全性中


Spring Security使用/*URL映射或您选择保护的映射,作为对web容器的所有请求的过滤器运行。

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

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

它还为您提供了许多基于URL和基于方法的细粒度授权控制,这在JavaEE安全性中是没有定义的。您可以使用正则表达式和Ant样式的表达式进行模式匹配,这在其他情况下是不会有的。表达式语法也非常丰富。如果您需要执行特定于数据的访问控制,DDL将提供给您添加到数据库中,并直接集成到您的安全性中


Spring Security使用/*URL映射或您选择保护的映射,作为对web容器的所有请求的过滤器运行。

谢谢,这非常有用。这里的团队非常不愿意使用Spring,但他们确实使用Struts2,多亏了你的回答,我才能够找到一个使用Struts拦截器的对称解决方案。谢谢很高兴你找到了答案。但是,作为记录,您可以独立于MVC框架使用Spring安全性。这意味着,如果您愿意,您可以使用Struts2的Spring安全性,而不会出现任何问题。我很乐意。坦率地说,我更愿意使用Struts MVC,但这些怪人不想在任何地方看到spring jar文件。但他们确实希望自己的身份验证得到JAAS的支持,JAAS随后使用一个使用Hibernate的自定义登录模块。这将是一份痛苦的合同。谢谢,这很有用。这里的团队非常不愿意使用Spring,但他们确实使用Struts2,多亏了你的回答,我才能够找到一个使用Struts拦截器的对称解决方案。谢谢很高兴你找到了答案。但是,作为记录,您可以独立于MVC框架使用Spring安全性。这意味着,如果您愿意,您可以使用Struts2的Spring安全性,而不会出现任何问题。我很乐意。坦率地说,我更愿意使用Struts MVC,但这些怪人不想在任何地方看到spring jar文件。但他们确实希望自己的身份验证得到JAAS的支持,JAAS随后使用一个使用Hibernate的自定义登录模块。这将是一份痛苦的合同。