Своё Приложение или на заказ

Темы, которые не попадают в остальные категории.
Ответить
vasilevkirill
Сообщения: 11
Зарегистрирован: Ср окт 12, 2016 1:37 pm

Своё Приложение или на заказ

Сообщение vasilevkirill »

Добрый день, есть несколько вопросов
Можно ли написать своё приложение и например отдать вам исходники для компиляции? соответственно на чём писать и есть ли API
и второе, например попросить написать приложение или добавить функционала.
алгоритм такой
  1. Запрос пользователя логина и пароля
  2. Поиск живого контролера домена из Round Robin серверов "maindomain.local", тот суфикс который получен через DHCP или явно укащзанный в конфиге
  3. Попытка авторизации в LDAP каталоге Active Directory
  4. Поиск пользователя(которым авторизировались) и получение всех его LDAP атрибутов
  5. Получить специальный(пока неважно какой) атрибут и подставить его под server, ну или начать подключение к серверу указанному в специальном атрибуте
  6. Также например можно переназначить некоторые опции конфига из ldap атрибутов
Что можно этим добиться?
Можно централизованно(ldap) управлять тонкими клиентами основываясь не на железе(мак адресе), а на логине.
Сейчас мы делаем это с помощью http конфига, и мак адрес прописываем пользователю. Но реально это прослойка которую надо поддерживать и резервировать.
aka
Разработчик
Разработчик
Сообщения: 11804
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Своё Приложение или на заказ

Сообщение aka »

vasilevkirill писал(а):[*]Попытка авторизации в LDAP каталоге Active Directory
[*]Поиск пользователя(которым авторизировались) и получение всех его LDAP атрибутов
[*]Также например можно переназначить некоторые опции конфига из ldap атрибутов[/list]
Чём вы хотите авторизоваться и читать LDAP? Втварь сильно урезаный линукс, в ней нет с посторонних библиотек.
vasilevkirill
Сообщения: 11
Зарегистрирован: Ср окт 12, 2016 1:37 pm

Re: Своё Приложение или на заказ

Сообщение vasilevkirill »

можно использовать libldap http://www.openldap.org/devel//cvsweb.c ... tbydate=0ъ
в принципе я готов написать бинарник в которую вы как аргументы отправите домен.логин и пароль, вам в ответ json или как вам удобнее
aka
Разработчик
Разработчик
Сообщения: 11804
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Своё Приложение или на заказ

Сообщение 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. Большей части этого в втвари нет, и я не согласен тащить это всё в втварь под такую редкую задачу.
Rushmore
Сообщения: 358
Зарегистрирован: Пн фев 11, 2013 9:36 pm

Re: Своё Приложение или на заказ

Сообщение Rushmore »

Поскольку втварь уже поддерживает HTTPS, может будет проще сделать функционал, который умеет отправить логин/пароль юзера на веб сервер, а там уже делать запросы к LDAP или что угодно еще, и возвращать конфиг как в случае wtware-dynamic-http-config.

В принципе и я бы не отказался от такой фичи.
aka
Разработчик
Разработчик
Сообщения: 11804
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Своё Приложение или на заказ

Сообщение aka »

Веб сервер - это:
vasilevkirill писал(а):Но реально это прослойка которую надо поддерживать и резервировать.
Если уговорить пользователей не бояться вводить логин и пароль в серо-белом текстовом экране, тогда можно расширить функционал wtware-dynamic-http-config, обращаться по https и передавать логин с паролем. Но логин в этом случае пользователю придётся вводить руками, не выбирать из меню, потому что никакого конфига для наполнения меню с вариантами логинов к этому времени ещё не скачано.
vasilevkirill
Сообщения: 11
Зарегистрирован: Ср окт 12, 2016 1:37 pm

Re: Своё Приложение или на заказ

Сообщение vasilevkirill »

aka писал(а): Если уговорить пользователей не бояться вводить логин и пароль в серо-белом текстовом экране, тогда....
Не знаю как у других, но я вообще не рассматриваю вариант "без ввода логина и пароля"

Если совсем в штыки не хотите с ldap, то да было бы хорошо, передача логина и\или пароля через https
Rushmore
Сообщения: 358
Зарегистрирован: Пн фев 11, 2013 9:36 pm

Re: Своё Приложение или на заказ

Сообщение Rushmore »

В принципе можно реализовать такой функционал (почти) без wtware, если грузитесь с сети. Вам надо скомпилировать ipxe с поддержкой протокола https, там в скрипте есть команда для ввода логина и пароля. Передаёте полученные от юзера данные на веб сервер, проверяете их как хотите и формируете нужный конфиг. На этом этапе вы уже знаете мак адрес терминала, поэтому можно сопоставить юзера с маком где-то на сервере. Далее уходите на загрузку wtware. В процессе загрузки wtware через опцию DHCP 179 грузите сформированный для юзера конфиг. Единственное чего на самом деле не хватает в этой схеме - научить wtware читать wtware-dynamic-http-config через https, да и вообще заодно все конфиги, потому как передавать пароли в открытом виде как-то не совсем кошерно.
aka
Разработчик
Разработчик
Сообщения: 11804
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Своё Приложение или на заказ

Сообщение aka »

Как дописать новую информацию в 179 параметр, чтобы предыдущие версии не сломались? Когда его делали, не подумали про будуще расширение :(

Предыдущие версии завязаны на http:// Нельзя написать https://, они не поймут. Зато можно не писать http://, такое они поймут и пойдут на http://

Предлагаю так: если в имени файла или в пути к файлу, который передан в URL в 179 параметре, содержится подстрока 'ask-password', то втварь спросит логи и пароль.
Если юзер нажмёт Esc, то втвтарь будет действовать как предыдущие версии: не будет передавать логин и пароль, пойдёт по http на указанный URL.
Если юзер введёт логин и пароль, втварь проигнорирует указанный http:// (поэтому лучше не писать в 179 параметре http://, без него тоже работает), а пойдёт по https на порт 443, и добавит строку Authorization: Basic ... в заголовки HTTP запроса.

Подойдёт?

Ещё раз напомню: пользователю придётся вводить логин самому. Не выбирать из списка. Могу вместо чёрно-серого нарисовать голубой экран, но он всё равно будет текстовый, безо всяких картинок. И без русского языка. И смена пользователя выполняется только резетом.
Rushmore
Сообщения: 358
Зарегистрирован: Пн фев 11, 2013 9:36 pm

Re: Своё Приложение или на заказ

Сообщение Rushmore »

Чё-то как-то некрасиво получается... имхо конечно.
vasilevkirill
Сообщения: 11
Зарегистрирован: Ср окт 12, 2016 1:37 pm

Re: Своё Приложение или на заказ

Сообщение vasilevkirill »

Мне кажется не так надо.
надо разделить на две части общий конфиг (как есть сейчас), но если в конфиге есть флаг extauth = https://musite/pp.php
то предлагаем ввести данные пользователю и отправляем данные авторизации и данные тонкого клиента(как при http)
после чего переопределяем некоторые части конфига (например сервер)
aka
Разработчик
Разработчик
Сообщения: 11804
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Своё Приложение или на заказ

Сообщение aka »

Мне очень не нравится дополнительный конфиг. Пока там только IP сервера, это ещё не страшно, но скоро захочется большего. Расскажите мне, зачем вся эта конструкция нужна и как скоро прозвучит "ну если в допконфиге нельзя включить принтер значит он нам не подходит".
vasilevkirill
Сообщения: 11
Зарегистрирован: Ср окт 12, 2016 1:37 pm

Re: Своё Приложение или на заказ

Сообщение vasilevkirill »

aka писал(а):Мне очень не нравится дополнительный конфиг. Пока там только IP сервера, это ещё не страшно, но скоро захочется большего. Расскажите мне, зачем вся эта конструкция нужна и как скоро прозвучит "ну если в допконфиге нельзя включить принтер значит он нам не подходит".

Не могу отвечать за других, но реальный кейс, это чтобы часть конфига подхватывалась их LDAP на основании логина.
Принтера, Флешки и прочее контролируем раздаём по GPO, а вот единственное что пока невозможно, так это сам сервер подключения.
есть такие рабочие места, где пользователь меняется каждые 2 часа, причем они выполняют разные функции.
Например у меня тонкие клиенты только как RDP клиент, не принтеров нечего вообще лишнего. Я уж неговорю про chrome и тпд, это всё от лукавог. Не тонкий клиент, а киоск режим какойто, да тоже иногда надо, но для этих целей использую webconverger
aka
Разработчик
Разработчик
Сообщения: 11804
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Своё Приложение или на заказ

Сообщение 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

И т.д. Если скриптом конфиги генерить, то можно много туда написать, перегенерять по ходу смены операторов. И людям будет удобнее в русское название тыкать, и лишние скрипты на сервере не надо поддерживать.
Ответить

Вернуться в «Остальное»