Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2012, 09:47   #1
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию Удаленный пользователь rdp и программа на сервере

Доброе утро уважаемые программисты, пишу программу для фирмы, программа типа "склад" - учет товара на складе. Имеется сервер Server 2003 на нем будет лежать данная программа. Сотрудники будут заходить на сервер через rdp и работать с ней, вопрос: Каким образом можно реализовать, что бы при загрузке программы выбирался пользователь подсоединенный и зашедший в эту программу ? Это нужно для того что бы вести логи (Какой пользователь и что именно удалил, добавил или отредактировал на складе).
Critically вне форума Ответить с цитированием
Старый 24.08.2012, 11:34   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Цитата:
что бы при загрузке программы выбирался пользователь подсоединенный и зашедший в эту программу
Объясните нормально...

Нужно, что бы была авторизация в программе?
Или чтоб логировался пользователь rdp?
Не проще написать сетевой клиент к вашей серверной программе? пользователи скажут спасибо охотнее, нежели за такую вот "перректальную танзилектомию" с rdp.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 24.08.2012, 13:13   #3
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию

Да что бы была авторизация...
Critically вне форума Ответить с цитированием
Старый 24.08.2012, 13:43   #4
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Johnson, предположу, что когда цепляются по RDP украсть могут картинки(скриншоты) и потом пытаться их распознать и вытащить из них данные(что всё же трудоемко), а вот если сделать клиент к БД, то украсть могут уже сами данные. Не говоря уже о том что решение с RDP кросс-платформено - RDP-шные клиенты есть для большинства ОС. Тут есть куча нюансов, но... не даром популярен VDI

Critically вариантов куча, можно средствами используемой Вами СУБД (Вы же используете какуе-то СУБД), можно придумать что-то самому (хранить где-то логины и соответствующие им хэши паролей например и запрашивать логин пароль при загрузке).
astecenko вне форума Ответить с цитированием
Старый 24.08.2012, 13:53   #5
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию

А можно сделать так ? Например 10 программ, и что бы у конкретного пользователя открывалась своя программа при заходе по rdp, ну и соотвественно не нужно будет никаких логинов и т.д...
Critically вне форума Ответить с цитированием
Старый 24.08.2012, 13:55   #6
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию

Если нет, будем придумывать. Если да, то вопрос: можно ли запустив несколько программ работать с одной БД access, конкретно с одной таблицей ? Тоесть не будет ли проблем если несколько пользоватей будут одновременно изменять данные в одной таблице ???
Critically вне форума Ответить с цитированием
Старый 24.08.2012, 15:25   #7
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Цитата:
Сообщение от Critically Посмотреть сообщение
А можно сделать так ? Например 10 программ, и что бы у конкретного пользователя открывалась своя программа при заходе по rdp, ну и соотвественно не нужно будет никаких логинов и т.д...
Можно, только это надо не просто RDP а либо терминальный сервер (что в 2003 WinServ уже есть) - тогда для каждого пользователя будет создаваться отдельная сессия, либо VDI (см. выше).

Цитата:
Если нет, будем придумывать. Если да, то вопрос: можно ли запустив несколько программ работать с одной БД access, конкретно с одной таблицей ? Тоесть не будет ли проблем если несколько пользоватей будут одновременно изменять данные в одной таблице ???
Если очень нужно, и пользователей совсем немного - то можно, но прийдется кое-что изменить в самой программе, но даже и в этом случае проблемы всё равно скорее всего будут.
Тогда Вам лучше прислушаться к совету Johnson и использовать какую-нибудь распределенную СУБД, коих существует куча (Firebird, MySQL, Ms SQL etc)
astecenko вне форума Ответить с цитированием
Старый 24.08.2012, 15:30   #8
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Что касательно безопасности...

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

БД <=> Программа-сервер <=(защифрованный трафик)=> Клиент на машине пользователя.

В качетсве алгоритма шифрации я бы предложил Blowfish + RSA

Логин/Пароль шифруется RSA, ключ Блоуфиш шифруется RSA, данные шифруются Блоуфиш.

Схема очень надежная, особенно если продумать механизм смены ключей.
За подробностями поищите статьи про шифрование трафика игры Lineage II.

PS: Плюсы очевидны: высокая скорость работы БД (локальная машина), низкое потребление трафика (передаются команды плюс операнды, вместо запросов), очень высокая безопасность, надежность, возможность использовать произвольный порт.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 24.08.2012 в 15:32.
Johnson вне форума Ответить с цитированием
Старый 24.08.2012, 22:56   #9
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Johnson, топик-стартер ничего не писал про требования по инф.безу, реализовать можно по разному, но зачем такие сложности(разработка сервера, разработка клиента под определен платформу, и т.п.), если подключение через терминальную сессию устраивает? Впрочем всё зависит от решаемых задач, и требований к ним.

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

Топик-стартеру, повторюсь, рекомендовал бы использовать уже имеющийся в Win2k3 сервер терминалов(на первое время), и все же рассмотреть возможность перехода на другую СУБД.
astecenko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RDP на дельфи DjDram Работа с сетью в Delphi 2 06.06.2011 14:50
Заполнение массива. Первый элемент вводит пользователь, а дальше рассчитывает программа НаташенькаRu Помощь студентам 8 25.10.2010 21:03
Работа с RDP и портами. Alex77777 Фриланс 2 07.06.2010 12:06
Удаленный вызов скрипта на веб сервере Garacio_cain Работа с сетью в Delphi 1 09.03.2009 22:39
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51