Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аутентификация доменных пользователей, Аутентификация доменных пользователей 
:(
    Опции темы
eon
Дата 13.11.2010, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 31.8.2010

Репутация: нет
Всего: нет



Добрый день! Не знаю в какую ветку обратиться.
Есть программа, которая нормально работает.
Смысл: пользователь запускает ехе-шник, вводит свой логин-пароль. Если в таблице users в поле role у него стоит 1, то ему загружается админский интерфейс программы, если 0 - интерфейс простого пользователя. Далее описывать не буду. Пишу на VS08 C#. СУБД MS SQL SERVER '08.
На предприятии настроен контроллер домена, где хранятся учетки всех пользователей сети.

Собираюсь переделать программу, чтобы пользователи не вводили логин-пароль из БД. А чтобы после запуска программа определяла под какой учеткой залогинен юзер в винду. Смотрела в домене, входит ли пользователь в группу "Администраторы ABC" например. Если пользователь входит в эту группу, то ему загружается админский интерфейс, иначе - иначе.
Немного изучил эту тему в интернетах, есть кое-какие мысли в голове.

Кто работал с доменными учетками из своих приложений? У кого какие советы есть?
Пока например вопрос такой в голове встает:
Вот допустим есть две таблицы в БД. Users и Comments.
В таблице Комментс есть поле User_ID. Ну связываются таблицы по этому полю.
А как же будет работать таблица Комментс с доменными учетками? Ведь таблица Users тогда вроде как не нужна мне будет? Или же всё-таки ее придется вести? Чо-то я не вкуриваю.
Как связать таблицу Комментс? может например по SID учетки?

Расскажите, кто что знает. Спасибо.
PM MAIL   Вверх
mihryak
Дата 15.11.2010, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 3
Всего: 36



Система должна быть готова к тому, что у юзера может измениться буквально всё - от display name до logon name, так что при поднятии комментариев из базы стоит каждый раз забирать актуальные пользовательские данные из AD через SID юзера.
Таблицу с юзерами может пригодиться в том случае, если при удалении юзера из AD комментарий не должен оказаться безымянным, если же достаточно будет в имени написать "пользователь удалён", и нигде больше от юзера ничего не требуется, то можно обойтись и SID'ом, он однозначно идентифицирует пользователя в домене. Если же всё же вести таблицу с юзерами для прицепления вспомогательных данных, то лучше использовать для них суррогатный ключ (int, guid), а не SID для повышения производительности, а на поле SID просто навесить уникальный констрейнт.
Ещё при проверки роли пользователя стоит учесть, что он может и не быть членом группы "Администраторы ABC", но при этом входить в группу, которая входит в группу, ....., которая входит в "Администраторы ABC", т.е. проверка членства должна быть рекурсивной.
PM MAIL ICQ   Вверх
kin
Дата 18.11.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



Цитата(eon @  13.11.2010,  12:40 Найти цитируемый пост)
Пишу на VS08 C#. СУБД MS SQL SERVER '08.
На предприятии настроен контроллер домена, где хранятся учетки всех пользователей сети.
Собираюсь переделать программу, чтобы пользователи не вводили логин-пароль из БД. А чтобы после запуска программа определяла под какой учеткой залогинен юзер в винду. Смотрела в домене, входит ли пользователь в группу "Администраторы ABC" например. Если пользователь входит в эту группу, то ему загружается админский интерфейс, иначе - иначе.
  Ага, и создадите этим массу проблем не только себе, но и системным администраторам. mihryak в кратце описал что ждет вас при разработке и это только малая толика. Все что вам нужно, это правильно воспользоваться тройкой "AD->SQL->Приложение" На мой взгляд, лучше решение, это определить нужные роли в БД и использовать их для ваших нужд. Проще говоря, при  входе пользователя определять к какой роли он принадлежит, и в зависимости от этого грузить нужный интерфейс. Вы легко можете управлять ролями, а администраторы их администрированием. Все просто и до одури приятно


PM MAIL   Вверх
Freyzer
Дата 21.11.2010, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


обаятельный нахал
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 12.12.2009
Где: на Марсе

Репутация: нет
Всего: 1



Вобщем, нужен RoleProvider: как вариант


--------------------
Advocatus Dei smile. Advocatus Diaboli smile. Ajo!   
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.