2

http://jasypt.org/webconfiguration.html的 Jasypt 配置文档中,声明如下:

这个 servlet 的 URL 应该由 webapp 管理员在部署时调用,用于设置所有 PBE 加密器的密码......

从文档中我不清楚以下内容:

1)通过网络应用程序输入的密码存储在哪里?它们是存储在内存中还是其他地方?

2) 是不是只有部署应用时才需要输入密码?如果应用服务器(或 JVM)重新启动会发生什么情况,是否需要再次重新输入密码?

3) 是否可以在多个 Web 应用程序之间共享一个 jasypt 配置?如果需要在应用程序服务器/JVM 重启时重新输入密码,并且我部署了很多应用程序,我的应用程序部署人员将不喜欢多次重新输入密码。

4

1 回答 1

1

1)密码存储在Web应用上下文中(即:在应用实例的内部存储器中)

2) 是的,它们只需要在部署过程中进行设置。但是您必须清楚这样一个事实,即当应用程序服务器重新启动时,其中的所有应用程序实例都会重新部署。所以结果是您应该再次重新输入密码。

3)基于第 1 点,密码保存在应用程序内部上下文中,因此它们不能被其他应用程序使用(不过,我认为这取决于您正在实施的应用程序类型,如果它们确实共享这样的上下文)。什么结束了,如果您重新启动应用程序服务器,并且您的所有应用程序都在其中,那么它们都将被重新部署。仅当您的共享实例位于不同的服务器中时才有意义,而且我不知道这是否可能(或推荐)。

摘要:是的,您必须重新输入密码,但通常在生产环境中您不会进行多次重新部署。即使您不使用这种类型的配置,重新启动对于客户端来说也是一个暂时的问题。

于 2014-10-13T13:11:58.943 回答