Страница 1 из 1
Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 1:57 pm
vasilevkirill
Добрый день, есть несколько вопросов
Можно ли написать своё приложение и например отдать вам исходники для компиляции? соответственно на чём писать и есть ли API
и второе, например попросить написать приложение или добавить функционала.
алгоритм такой
- Запрос пользователя логина и пароля
- Поиск живого контролера домена из Round Robin серверов "maindomain.local", тот суфикс который получен через DHCP или явно укащзанный в конфиге
- Попытка авторизации в LDAP каталоге Active Directory
- Поиск пользователя(которым авторизировались) и получение всех его LDAP атрибутов
- Получить специальный(пока неважно какой) атрибут и подставить его под server, ну или начать подключение к серверу указанному в специальном атрибуте
- Также например можно переназначить некоторые опции конфига из ldap атрибутов
Что можно этим добиться?
Можно централизованно(ldap) управлять тонкими клиентами основываясь не на железе(мак адресе), а на логине.
Сейчас мы делаем это с помощью http конфига, и мак адрес прописываем пользователю. Но реально это прослойка которую надо поддерживать и резервировать.
Re: Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 2:44 pm
aka
vasilevkirill писал(а):[*]Попытка авторизации в LDAP каталоге Active Directory
[*]Поиск пользователя(которым авторизировались) и получение всех его LDAP атрибутов
[*]Также например можно переназначить некоторые опции конфига из ldap атрибутов[/list]
Чём вы хотите авторизоваться и читать LDAP? Втварь сильно урезаный линукс, в ней нет с посторонних библиотек.
Re: Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 4:31 pm
vasilevkirill
можно использовать libldap
http://www.openldap.org/devel//cvsweb.c ... tbydate=0ъ
в принципе я готов написать бинарник в которую вы как аргументы отправите домен.логин и пароль, вам в ответ json или как вам удобнее
Re: Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 5:54 pm
aka
Код: Выделить всё
aka@c12:/usr/lib/i386-linux-gnu$ ldd libldap_r-2.4.so.2.10.5
linux-gate.so.1 => (0xb773e000)
liblber-2.4.so.2 => /usr/lib/i386-linux-gnu/liblber-2.4.so.2 (0xb76ab000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb7692000)
libsasl2.so.2 => /usr/lib/i386-linux-gnu/libsasl2.so.2 (0xb7673000)
libgssapi.so.3 => /usr/lib/i386-linux-gnu/libgssapi.so.3 (0xb762c000)
libgnutls.so.30 => /usr/lib/i386-linux-gnu/libgnutls.so.30 (0xb74d4000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb74b7000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7301000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb72fb000)
libheimntlm.so.0 => /usr/lib/i386-linux-gnu/libheimntlm.so.0 (0xb72f1000)
libkrb5.so.26 => /usr/lib/i386-linux-gnu/libkrb5.so.26 (0xb7259000)
libasn1.so.8 => /usr/lib/i386-linux-gnu/libasn1.so.8 (0xb71a8000)
libcom_err.so.2 => /lib/i386-linux-gnu/libcom_err.so.2 (0xb71a3000)
libhcrypto.so.4 => /usr/lib/i386-linux-gnu/libhcrypto.so.4 (0xb7169000)
libroken.so.18 => /usr/lib/i386-linux-gnu/libroken.so.18 (0xb7151000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7136000)
libp11-kit.so.0 => /usr/lib/i386-linux-gnu/libp11-kit.so.0 (0xb70d5000)
libidn.so.11 => /usr/lib/i386-linux-gnu/libidn.so.11 (0xb70a1000)
libtasn1.so.6 => /usr/lib/i386-linux-gnu/libtasn1.so.6 (0xb708b000)
libnettle.so.6 => /usr/lib/i386-linux-gnu/libnettle.so.6 (0xb704f000)
libhogweed.so.4 => /usr/lib/i386-linux-gnu/libhogweed.so.4 (0xb701a000)
libgmp.so.10 => /usr/lib/i386-linux-gnu/libgmp.so.10 (0xb6f8e000)
/lib/ld-linux.so.2 (0xb773f000)
libwind.so.0 => /usr/lib/i386-linux-gnu/libwind.so.0 (0xb6f64000)
libheimbase.so.1 => /usr/lib/i386-linux-gnu/libheimbase.so.1 (0xb6f52000)
libhx509.so.5 => /usr/lib/i386-linux-gnu/libhx509.so.5 (0xb6f02000)
libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6e21000)
libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb6def000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb6de6000)
Вот это всё стадо библиотек тянет за собой libldap. Большей части этого в втвари нет, и я не согласен тащить это всё в втварь под такую редкую задачу.
Re: Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 7:39 pm
Rushmore
Поскольку втварь уже поддерживает HTTPS, может будет проще сделать функционал, который умеет отправить логин/пароль юзера на веб сервер, а там уже делать запросы к LDAP или что угодно еще, и возвращать конфиг как в случае wtware-dynamic-http-config.
В принципе и я бы не отказался от такой фичи.
Re: Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 8:05 pm
aka
Веб сервер - это:
vasilevkirill писал(а):Но реально это прослойка которую надо поддерживать и резервировать.
Если уговорить пользователей не бояться вводить логин и пароль в серо-белом текстовом экране, тогда можно расширить функционал wtware-dynamic-http-config, обращаться по https и передавать логин с паролем. Но логин в этом случае пользователю придётся вводить руками, не выбирать из меню, потому что никакого конфига для наполнения меню с вариантами логинов к этому времени ещё не скачано.
Re: Своё Приложение или на заказ
Добавлено: Ср окт 12, 2016 10:55 pm
vasilevkirill
aka писал(а):
Если уговорить пользователей не бояться вводить логин и пароль в серо-белом текстовом экране, тогда....
Не знаю как у других, но я вообще не рассматриваю вариант "без ввода логина и пароля"
Если совсем в штыки не хотите с ldap, то да было бы хорошо, передача логина и\или пароля через https
Re: Своё Приложение или на заказ
Добавлено: Чт окт 13, 2016 7:16 am
Rushmore
В принципе можно реализовать такой функционал (почти) без wtware, если грузитесь с сети. Вам надо скомпилировать ipxe с поддержкой протокола https, там в скрипте есть
команда для ввода логина и пароля. Передаёте полученные от юзера данные на веб сервер, проверяете их как хотите и формируете нужный конфиг. На этом этапе вы уже знаете мак адрес терминала, поэтому можно сопоставить юзера с маком где-то на сервере. Далее уходите на загрузку wtware. В процессе загрузки wtware через опцию DHCP 179 грузите сформированный для юзера конфиг. Единственное чего на самом деле не хватает в этой схеме - научить wtware читать wtware-dynamic-http-config через https, да и вообще заодно все конфиги, потому как передавать пароли в открытом виде как-то не совсем кошерно.
Re: Своё Приложение или на заказ
Добавлено: Чт окт 13, 2016 9:59 am
aka
Как дописать новую информацию в 179 параметр, чтобы предыдущие версии не сломались? Когда его делали, не подумали про будуще расширение
Предыдущие версии завязаны на http:// Нельзя написать https://, они не поймут. Зато можно не писать http://, такое они поймут и пойдут на http://
Предлагаю так: если в имени файла или в пути к файлу, который передан в URL в 179 параметре, содержится подстрока 'ask-password', то втварь спросит логи и пароль.
Если юзер нажмёт Esc, то втвтарь будет действовать как предыдущие версии: не будет передавать логин и пароль, пойдёт по http на указанный URL.
Если юзер введёт логин и пароль, втварь проигнорирует указанный http:// (поэтому лучше не писать в 179 параметре http://, без него тоже работает), а пойдёт по https на порт 443, и добавит строку
Authorization: Basic ... в заголовки HTTP запроса.
Подойдёт?
Ещё раз напомню: пользователю придётся вводить логин самому. Не выбирать из списка. Могу вместо чёрно-серого нарисовать голубой экран, но он всё равно будет текстовый, безо всяких картинок. И без русского языка. И смена пользователя выполняется только резетом.
Re: Своё Приложение или на заказ
Добавлено: Чт окт 13, 2016 9:18 pm
Rushmore
Чё-то как-то некрасиво получается... имхо конечно.
Re: Своё Приложение или на заказ
Добавлено: Пт окт 14, 2016 12:14 pm
vasilevkirill
Мне кажется не так надо.
надо разделить на две части общий конфиг (как есть сейчас), но если в конфиге есть флаг extauth =
https://musite/pp.php
то предлагаем ввести данные пользователю и отправляем данные авторизации и данные тонкого клиента(как при http)
после чего переопределяем некоторые части конфига (например сервер)
Re: Своё Приложение или на заказ
Добавлено: Пт окт 14, 2016 6:30 pm
aka
Мне очень не нравится дополнительный конфиг. Пока там только IP сервера, это ещё не страшно, но скоро захочется большего. Расскажите мне, зачем вся эта конструкция нужна и как скоро прозвучит "ну если в допконфиге нельзя включить принтер значит он нам не подходит".
Re: Своё Приложение или на заказ
Добавлено: Пн окт 17, 2016 1:34 pm
vasilevkirill
aka писал(а):Мне очень не нравится дополнительный конфиг. Пока там только IP сервера, это ещё не страшно, но скоро захочется большего. Расскажите мне, зачем вся эта конструкция нужна и как скоро прозвучит "ну если в допконфиге нельзя включить принтер значит он нам не подходит".
Не могу отвечать за других, но реальный кейс, это чтобы часть конфига подхватывалась их LDAP на основании логина.
Принтера, Флешки и прочее контролируем раздаём по GPO, а вот единственное что пока невозможно, так это сам сервер подключения.
есть такие рабочие места, где пользователь меняется каждые 2 часа, причем они выполняют разные функции.
Например у меня тонкие клиенты только как RDP клиент, не принтеров нечего вообще лишнего. Я уж неговорю про chrome и тпд, это всё от лукавог. Не тонкий клиент, а киоск режим какойто, да тоже иногда надо, но для этих целей использую webconverger
Re: Своё Приложение или на заказ
Добавлено: Пн окт 17, 2016 3:22 pm
aka
vasilevkirill писал(а):есть такие рабочие места, где пользователь меняется каждые 2 часа, причем они выполняют разные функции.
На таких рабочих местах много разных пользователей может работать? Пять, десять, сто? Нельзя их всех вместе с серверами в конфиг записать? Так:
connection
displayName=ИванИваныч кладовщик
user=iviv
server=192.168.1.1
connection
displayName=ИванПетрович завсклада
user=ivip
server=192.168.1.2
connection
displayName=МарьИванна приходные
user=maiv
server=192.168.1.3
И т.д. Если скриптом конфиги генерить, то можно много туда написать, перегенерять по ходу смены операторов. И людям будет удобнее в русское название тыкать, и лишние скрипты на сервере не надо поддерживать.