Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Распределённые приложения и сеть > Доступ к сервисам по токенам, сервис доступа к БД |
Автор: 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) Если такое делают, то как сделать такой сервер который раздавал бы эти идентификаторы (токены или или ключи доступа), на чем писать? Простите что так много текста, и если написал полную ахинею, раньше ничего подобного не делал, нет опыта. |