背景

在我处理的项目上,我们在几个不同的服务器上运行了GUI应用程序。由于他们的用户界面相似性,我正在研究将其OMIS组合到单个统一界面中。目前,这些应用程序都可以通过VNC远程查看。我计划通过让主显示器在封面下运行几个VNC查看器,并在这些VNC会话周围包裹接口,以使它们看起来像本机应用程序,从而利用这一点。

问题

我正在寻找用于架构单个登录解决方案的指针。我想消除每个应用程序的个人登录名,而是将用户登录到统一显示。当他们这样做时,他们将自动登录到每个单个应用程序。

约束

  1. 这些应用程序都是在Linux上运行的基于秋千的Java应用程序。
  2. 身份验证由具有Active Directory的Windows 2003服务器计算机执行。
  3. 我强烈希望使用定制的解决方案而不是定制的解决方案。

想法

我的调查使我指向 kerberosGSSAPI. 。 Kerberos的基于票证的机制似乎非常适合该任务。

一个棘手的位置是这些应用程序始终在运行。我需要统一的显示器以某种方式“告诉”用户登录时。这不像普通的kerberized程序,他们将在启动时执行Kerberos登录。

如果我使用kerberos,我不确定如何将门票传输到各种应用程序服务器。是否有一种转让它们的标准方法?我只使用“ SCP”或其他东西?还是我开发了自己的基于插座的网络协议,并让Java程序相互连接并以这种方式传输票?

不过,我不想在细节上陷入困境。我甚至会欣赏一般的想法,例如“您考虑过技术X吗?”或“尝试XYZ代替VNC,它为您做到这一点。”


更新

我将在这里编辑答案和澄清...

您是否考虑过任何身份验证必须进行,而VNC仅将视图导出到运行程序中,因此VNC会话无法运输门票?

确实是的。 Java + VNC是我们现在拥有的。如果有更好的方法可以远程查看应用程序,我可以更改其他内容。在没有重写它们的情况下,就是这样。理想的解决方案是将它们分成不同的客户端和服务器部件,并将所有GUI代码放入客户端,但这是5星难度,我需要1或2星。

当两个用户同时登录时,您是否考虑过这种情况?他们会看到同一应用吗?还是禁止这?

是的,我已经考虑过。他们要么看到同一应用程序,要么将被禁止。就这个特定系统而言,这两种解决方案都可以,因此这没什么大不了的。

您是否考虑过仅在本地主机上使用X服务器并导出客户端应用程序Windows?

是的,这太好了。这可以通过已经运行的应用程序完成吗?它们已经启动后必须连接到这些应用程序。当有人开火时,我无法按需启动它们。

有帮助吗?

解决方案

Okey,我将尝试启动此列表。你有没有考虑过...

  • 贾斯?应该包括GSS API,但我上次尝试时非常麻烦。
  • 无论如何,必须进行一些身份验证,而VNC仅将视图导出到运行程序中,因此VNC会话无法运输门票?
  • 带有嵌入式Java VNC客户端的基于浏览器的解决方案?至少IE能够执行Kerberos身份验证,我不知道其他浏览器或IE如何做到这一点。
  • 当两个用户同时登录时的情况?他们会看到同一应用吗?还是禁止这?
  • 只是在本地主机上使用X服务器并导出客户端应用程序窗口?

编辑:更多注意事项:

  • 使用X服务器变体时,请使用 XMOVE 将程序移至X服务器。
  • 您可以使用私有/秘密密钥的SSH身份验证,并让用户输入一个密码以连接所有服务器。 SSH代理是关键字。
  • 使用现有的SSH连接,请在所有机器上启动XMOVE,收集所有GUI并将其发送给客户。您甚至可以为每个应用程序编写一些MainWindow,并单击时,仅导出一个应用程序,因此似乎已经从主GUI启动了。

其他提示

RealVNC企业版 支持AD身份验证(每个出口台式机约50美元)。也许您可以简单地让人们以这种方式授权应用程序。 Freenx 支持PAM身份验证,因此您可以与Winbind一起入侵一些东西,尤其是如果您的Linux Dist使广告设置变得容易。

最后一件事是运行您的应用程序 VirtualBox 可以在 无头模式 通过RDP。你可以 对PAM进行身份验证 因此,温宾德(Winbind)。这也具有通过远程桌面在客户端对Windows友好的优势,远程桌面已预装或容易适用于Windows。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top