Вопрос

Фон

По проекту, над которым я работаю, у нас есть приложения GUI, работающие на нескольких разных серверах. Из -за их сходства пользовательского интерфейса я исследую, объединяя их OMIS в один унифицированный интерфейс. В настоящее время все эти приложения все сдаленно просмотрены через VNC. Я планирую воспользоваться этим, заставляя мастер -дисплей запустить несколько зрителей VNC под обложками и обернуть интерфейс вокруг этих сеансов VNC, чтобы они выглядели как нативные приложения.

Проблема

Я ищу указатели для архитекции одного решения для регистрации. Я хочу устранить индивидуальный вход каждого приложения и вместо этого попросить пользователей входить только на унифицированный дисплей. Когда они это сделают, они будут автоматически войти в систему для каждого из отдельных приложений.

Ограничения

  1. Все приложения представляют собой приложения Java на основе свинга на Linux.
  2. Аутентификация выполняется сервером Windows 2003 с Active Directory.
  3. Я бы настоятельно предпочел готовое решение, созданному на заказ.

Идеи

Мое расследование указало мне на Kerberos а также GSSAPI. Анкет Механизм на основе билетов Kerberos кажется хорошо подходящим для этой задачи.

Одним из слоев является то, что эти приложения всегда работают. Мне нужен унифицированный дисплей, чтобы каким -то образом «рассказать» им, когда пользователь вошел в систему. Это не похоже на обычные программы Kerberized, где они выполнят логин Kerberos при запуске.

Если я использую Kerberos, я не уверен, как перенести билеты на различные серверы приложений. Есть ли стандартный способ их перевести? Я просто использую "SCP" или что -то в этом роде? Или я разрабатываю свой собственный сетевой протокол на основе сокетов и проведу программы Java подключаться друг к другу и передавать билеты таким образом?

Я не хочу слишком увязнуть в деталях. Я бы признателен даже в таких общих идеях, как «Вы считали технологией X?» или «Попробуйте XYZ вместо VNC, это делает это для вас».


Обновления

Я редактирую ответы и разъяснения здесь ...

Считали ли вы, что какая -то аутентификация должна иметь место в любом случае, и что VNC экспортирует только просмотр программы бега, поэтому сеанс VNC не может транспортировать билеты?

Да, в самом деле. Java + VNC - это то, что у нас сейчас есть. Я мог бы изменить VNC для чего -то другого, если есть лучший способ удаленно просмотреть приложения. Не переписывая их, это так. Идеальным решением было бы разделить их на отдельные кусочки клиента и сервера и поместить весь код графического интерфейса в клиент, но это 5-звездочная сложность, и мне нужно 1- или 2-звездочное.

Рассматривали ли вы случай, когда два пользователя входят в систему в то же время? Увидят ли они то же самое приложение? Или это будет запрещено?

Да, я это рассмотрел. Они либо увидят то же приложение, либо оно будет запрещено. Какое -то решение в порядке, что касается этой конкретной системы, так что это не имеет большого значения.

Рассмотрели ли вы просто использовать X -сервер на вашем локальном хосте и экспортировать приложения клиентов Windows?

Да, это было бы здорово. Можно ли это сделать с уже сдержанными приложениями? Я должен подключиться к этим приложениям после того, как они уже начали. Я не могу начать их по требованию, когда кто -то запускает центрального зрителя.

Это было полезно?

Решение

Окей, я постараюсь начать этот список. Вы рассмотрели ...

  • Яс? Должен включать GSS API, но был очень громоздким, когда я в последний раз попробовал его.
  • что какая -то аутентификация должна иметь место в любом случае, и что VNC экспортирует представление в программу бегущей, поэтому сеанс VNC не может транспортировать билеты?
  • Решение на основе браузера со встроенным клиентом Java VNC? По крайней мере, IE может выполнить аутентификацию Kerberos, я не знаю о других браузерах или о том, как это делает IE.
  • Случай, когда два пользователя входят в систему в то же время? Увидят ли они то же самое приложение? Или это будет запрещено?
  • Просто используя X -сервер на вашем локальном хосте и экспортировать приложения клиентов Windows?

Изменить: больше соображений:

  • При использовании варианта X Server используйте Xmove Перемещать программы на X -сервер.
  • Вы можете использовать аутентификацию SSH с частными/секретными клавишами и позволить пользователю ввести одну пароль для подключения всех ваших серверов. Агент SSH является ключевым словом.
  • С существующими SSH -соединениями запустите XMove на всех машинах, собирайте все графические интерфейсы и отправьте их клиенту. Вы могли бы даже написать немного Mainwindow, с кнопками для каждого приложения, и при нажатии, экспортируйте только одно из приложений, поэтому кажется, что они были начаты с основного графического интерфейса.

Другие советы

Realvnc Enterprise Edition Поддерживает аутентификацию AD (~ 50 долларов за экспортируемый рабочий стол). Возможно, вы можете просто позволить людям авторивать приложения таким образом. Freenx Поддерживает аутентификацию PAM, чтобы вы могли бы взломать что -то вместе с WinBind, особенно если ваш Linux Dist облегчает настройку рекламы.

Последнее, что запускает ваши приложения в VirtualBox который может работать в Безголовный режим через RDP. Вы можете Аутентификация против Пэм И, таким образом, Уинбинд. Это также имеет преимущество в том, что Windows Friendy на стороне клиента через удаленный рабочий стол, который предварительно установлен или легко доступен для Windows.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top