1

我正在开发一个需要在用户身份验证后将 shell 脚本传递给 putty 的 java web 应用程序。putty.exe 应该仅在身份验证成功并且脚本已开始成功运行时启动。

此外,由于不同的用户可能在其系统的不同位置安装了 putty。有什么方法可以在不需要用户手动配置路径的情况下启动 putty.exe。或者是否可以以编程方式找到路径并启动腻子?

4

4 回答 4

0

我同意楼上的人。同样在您的应用程序中,您可以提供用户设置 putty.exe 完整路径并将它们存储在 cookie 中的功能。

于 2012-09-04T14:34:36.033 回答
0

我将首先说不让用户将 putty 添加到路径最容易通过为每个用户创建一个配置文件来解决,其中一个参数将是 putty 可执行文件的位置。如果 putty 无法打开,则使用默认值和对话框正确处理此问题对于大多数用户来说既简单又熟悉。

两种简单的情况可能会完全影响您搜索可执行文件的方式:用户重命名 putty 可执行文件或用户拥有多个版本的 putty。

为了避免被第一种情况难住,您将不得不要求新名称并以某种方式将其保存在配置中。

为了避免被第二次难住,您将不得不询问他们想要的 putty 版本,存储该版本,并以某种方式进行版本检查,如果您只想查找 putty.exe(也许您有一个文件每个版本的校验和)。

这与仅仅要求他们指向可执行文件相比,即使不是让用户更烦人(而且对您来说肯定更烦人)。还有更多可能出错的方法。

基本上,可以搜索可执行文件,但它不会为任何人节省任何麻烦,只会为您带来更多收益。让用户配置路径并不是很棘手,但如果你想避免它,那么最简单的方法是让每个用户的配置文件与你的程序保存在其中的 putty 路径。

于 2012-09-04T14:43:33.883 回答
0

一种方法是编辑用户计算机的 PATH 系统变量并添加 Putty.exe 位置的完整路径。

另一种解决方案是在每台用户机器的默认文件夹中创建一个指向 Putty.exe 的链接,以便 Java 可以访问此链接而不会出现问题。

第三种解决方案可能是将 Putty.exe 与您的应用程序安装程序一起提供。Putty.exe 不需要自定义 DLL 即可工作(至少我还不需要)。

于 2012-09-04T14:26:35.083 回答
0

从理论上讲,如果您搜索用户计算机上的每个目录以找到 putty.exe 是可能的。但实际上,您应该要求将文件放在一些熟悉的目录中或使用环境变量。

于 2012-09-04T14:28:14.267 回答