Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在多个Web应用程序中实现安全性的最佳实践_Java_Security_Design Patterns_Spring Security - Fatal编程技术网

Java 在多个Web应用程序中实现安全性的最佳实践

Java 在多个Web应用程序中实现安全性的最佳实践,java,security,design-patterns,spring-security,Java,Security,Design Patterns,Spring Security,我们使用的是Spring安全性,它在单个web应用程序中运行良好。现在,我需要创建另一个具有Spring安全性的Web应用程序。在第一个应用程序中,用户可以出售他/她的物品(例如易趣)。我现在正在创建的第二个应用程序,是为普通用户提供的,他可以在其中保存他的一般偏好、搜索、保存他查看的某些项目等。他可能是/可能不是现有用户。因此,这两个用户之间的区别是: 用户1(现有用户):可以发布他的物品进行销售。 用户2:他/她应该能够登录。保存他的一般活动等&如果他/她想出售他的/她的物品,他/她需要通过

我们使用的是Spring安全性,它在单个web应用程序中运行良好。现在,我需要创建另一个具有Spring安全性的Web应用程序。在第一个应用程序中,用户可以出售他/她的物品(例如易趣)。我现在正在创建的第二个应用程序,是为普通用户提供的,他可以在其中保存他的一般偏好、搜索、保存他查看的某些项目等。他可能是/可能不是现有用户。因此,这两个用户之间的区别是: 用户1(现有用户):可以发布他的物品进行销售。 用户2:他/她应该能够登录。保存他的一般活动等&如果他/她想出售他的/她的物品,他/她需要通过其他步骤进行验证


由于某些原因,所有这些都不能在一个应用程序中完成。我的问题是如何处理安全问题?我应该为每个应用程序创建单独的安全过滤器,还是有一种方法可以使用公共安全实现来管理这两个应用程序。请提供您的反馈,我将不胜感激。

如果您将这两个组件包装在两个不同的web应用程序中,每个应用程序都将有自己的spring security web filter基础结构。 因此,原则上每个web应用程序都有一个安全会话,由您使用的任何身份验证系统支持。 如果使用JDBC,那么用户必须登录两次

如果您希望您的客户只登录一次,例如,您可以使用基于令牌的系统。 当您从webapp 1交叉链接到webapp 2时,您可以将链接连接到重定向servlet。 然后servlet生成一个令牌,将其保存在数据库中,并将url中带有令牌的用户转发到另一个webapp。 在SpringSecurity中,您可以实现自己的令牌,读取令牌,验证它是否在数据库中持久化。 出于安全原因,您应该只使用这些令牌一次