powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Применение авторизации на основе windows.
12 сообщений из 12, страница 1 из 1
Применение авторизации на основе windows.
    #35117497
Dan Sosedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем, интересует каким способом в приложении (не в субд) можно организовать управление ресурсами (фактически функциональность) которая зависит от конкретного пользователя.

Может немного непонятно написал, вот что сейчас есть:

Есть приложение, которым пользуются n человек, в основном секретари. Приложение работает с БД (доки и т.д). Сейчас любой может запустить прогу и сделать все что захочет. Это понятно что неправильно, т.к система не моя и сейчас приходится дописывать. Задача сводится к внедрению системы авторизации пользователей на основе WIN, т.е если человек залогинен под учеткой DOMAIN\Username, то проверить (опять же где хранить разграничения) имеет ли доступ на чтение/изменение/удаление/.

Как можно проще всего это реализовать? Что рекомендуете почитать?
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35117857
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как реализовано в базе управление пользователями ? База на чем ? В MS SQL'е управление через доверительное соединение WINDOWS позволяет решать как раз такие задачи.

Либо каждый логин WINDOWS персонально подключается к MS SQL и затем включается в одну/несколько ролей MS SQL - управление идет через роли, центр тяжести получается в MS SQL

Либо логины включаются в группы WINDOWS, а группа WINDOWS одним чохом поключаеся к роли MS SQL. Тогда, не трогая MS SQL, можно управлять правами включая/выключая логины в группы WINDOWS, центр тяжести переносится в WINDOWS.
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35117960
Dan Sosedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас такого понятия в приложении вообще нет. Один юзер бд и все. Он и админ, т.к может делать что угодно, поэтому куча косяков, чтото постоянно не работает.
Приложение (только приложение, не база) будет работать на win.

У меня видение вещей такое:
1. В БД будет 4 типа пользователей :админ,юзер,гость,системный . Системная учетка только для ведения журналов изменений, контроль доступа и т.д все что не относится к манипуляции данными.
2. Таблица разграничений прав тоже в БД, доступ к которой имеет только админ. Задается правами к таблице.
3. Пользователь запускает программу, проверяется текущая учетная запись (под которой он залогинен), далее проверяется уровень доступа пользователя. Если пользователь присутствует в таблице разграничения прав, то система начинает работать из под пользователя "юзер". в противном случае - "гость" (только чтение данных). Про админа говорить думаю не надо.
4. Например сервис баз данных переносится на другую платформу (UNIX) и тут же работоспособность системы идентификации на основе windows обламывается. ограничиваем ос от бд.(имхо пока не определил четко).

Пока все на стадии обдумывания, т.к опыта создания подобных систем пока очень мало. Хочется сделать все на должном уровне.
Вообще, думаю что жесткая привязка ОС и БД не нужна, т.к она важна только для клиента. В моем случае клиент будет только для windows. Иначе, я бы продумывал совершенно иную схему реализации.
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35118064
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan Sosedov
3. Пользователь запускает программу, проверяется текущая учетная запись (под которой он залогинен), далее проверяется уровень доступа пользователя. Если пользователь присутствует в таблице разграничения прав, то система начинает работать из под пользователя "юзер". в противном случае - "гость" (только чтение данных). Про админа говорить думаю не надо.

Точно так не выйдет. В Win есть сервисные функции для проверки аутентификации, но вы должны подложить им полные имя и пароль. То есть, процесс примерно такой:
1. Запуск вашей программы
2. Программа извлекает текущее имя пользователя в Win (возможно, в привязке к домену)
3. Программа извлекает (из шифрованного хранилища) полный пароль этого пользователя (если он в базе данных, управляемой этой программой имеется).
4. Подставляете комбинацию {domain, userName, password} Windows'у. Если последняя говорит, что это канает, то входите в свою программу = все довольны.

Эта схема точно работает. По поводу сервиса Win ищите в MSDN строку "SSPI Authentication Sample".
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35118100
Dan Sosedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, примерно так я и представлял себе. Спасибо за ссылку в МСДН, посмотрю.

Вообще, с точки зрения организации мой вариант правилен? Насчет разграничения ос, бд, авторизации.
Какие еще можно применить варианты?
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35118122
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan Sosedov
Вообще, с точки зрения организации мой вариант правилен? Насчет разграничения ос, бд, авторизации.
Какие еще можно применить варианты?
Трудно сказать. Все зависит от конкретики. Если ваше приложение не тиражируемое, то важнее хорошая документация стратегии, нежели ее абсолютная правильность.
К тому же надо учитывать вероятность и интенсивность возможной атаки на систему разграничения прав.
Лично я не стал бы резервировать типы пользователей (админ,юзер,гость,системный), а определил бы иерархию объектов (группы, пользователи, роли) и флаги, задающие ограничения прав, но это - на любителя.
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35119975
Dan Sosedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, что в последующих проектах получится внедрять другие типы систем авторизации, надо попробовать все, начиная с простых схем. Пока мне трудновато будет реализовать системы на основе иерархической структуры, как вы сказали.

Есть возможность привести пример (со ссылкой, если есть сорс) ? Посмотреть как все реализовавыется.
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35121152
Dan Sosedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень просто описано (конкретно на C#):
тынц
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35128915
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan SosedovВобщем, интересует каким способом в приложении (не в субд)
если защита не в СУБД, то всё ущербно по защите IMHO
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35134367
sraider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 Dan SosedovВобщем, интересует каким способом в приложении (не в субд)
если защита не в СУБД, то всё ущербно по защите IMHO
Даже если к СУБД коннектится только app.server, а у пользователей вообще нет доступа к СУБД?
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35134506
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sraiderДаже если к СУБД коннектится только app.server, а у пользователей вообще нет доступа к СУБД?
Безусловно. Взгляните, например, на банк, в котором есть условно деньги в сейфах (данные в БД), клиенты (пользователи) и аппсервер (сотрудники). Ваша схема - это примерно то же самое, что было бы при "все сейфы нараспашку".
...
Рейтинг: 0 / 0
Применение авторизации на основе windows.
    #35135344
Dan Sosedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вобщем, я сделал доступ по WIN-авторизации. т.е с помощью LDAP в указанном домене выбираются пользователи, им выставляются определенные привелегии и дальше коннект к БД идет только от соответствующих привелегиям БД-логинов.
Вроде как проще некуда. Каждый раз редактировать права и пользователей в самой БД не особо удобно.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Применение авторизации на основе windows.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]