Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Доступ к сервисам по токенам, сервис доступа к БД


Автор: Ertdf 2.4.2018, 23:19
Всем доброго времени суток!

Описание:
Было приложение на C# и работающее с базой данных MySQL через Connector.NET (объекты MySqlConnection, MySqlCommand, MySqlDataReade, MySqlDataAdapter и пр.). Работа с базой осуществлялось на локальном хосте. Вообще приложение предназначено для автоматизации работы поликлиники.
Теперь задача: 
1) разделить приложение на несколько, т.е. для пациентов одно приложение, для сотрудников другие приложения (имеются ввиду клиентские приложения);
2) перенести базу в СУБД PostgreSQL, которая будет теперь на удаленной машине;
3) предоставить доступ к некоторым файлам на сервере, как пациентам (для загрузки), так и сотрудникам (для загрузки/изменения/выгрузки);
В принципе я бы мог сделать все эти 3 пункта, но как я думаю коряво. Например 3 пункт у меня получалось делать по SSH. Но не правильно же будет и пациентов и сотрудников пускать на сервер под разными пользователями ОС по SSH, пусть даже и с ограниченными правами?(или нет?)

В чем проблема:
Хотелось бы реализовать что-то вроде распределенной системы, чтобы был какой-то отдельный сервис для доступа к каталогам и отдельный для доступа к БД, которые бы анализировали некий идентификатор для доступа и подключались/не подключались к хосту/базе соответственно, под определенным пользователем. Получается нужен еще нужен какой-то сервер, который выдавал бы эти идентификаторы доступа (для пациентов исходя из специального номера, а для сотрудника из логина и пароля).

Читал, что connection string лучше не хранить в приложении (так было в старом), а лучше организовывать это через сервисы. И вообще с таким подходом система кажется более логичной, модульной и безопасной. И вообще как-то хочется решить вопрос с привилегиями.

Вопросы:
1) Как реализовать все что я написал? Что использовать? Направите пожалуйста на правильный путь!
2) Такое вообще делают? Как это вообще организуют такие системы что я написал?
3) Если такое делают, то как сделать такой сервер который раздавал бы эти идентификаторы (токены или или ключи доступа), на чем писать?

Простите что так много текста, и если написал полную ахинею, раньше ничего подобного не делал, нет опыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)