Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизActive Directory Найти похожие ветки
← →
>|< (2012-11-02 12:19) [0]Уважаемые мастера!
Подскажите, как отличить NTLM-авторизацию, от доменной? То есть, узнать, каким образом пользователь залогинился в систему? Если зашел через домен, то вернуть имя учетной записи. Если вошел локально, то вернуть пустую строку.
Заранее благодарен за любую помощь и подсказки.
← →
брат Птибурдукова (2012-11-02 12:31) [1]GetUserNameEx + MSDN?
← →
>|< (2012-11-02 12:52) [2]
> GetUserNameEx + MSDN?
У меня была идея получить Current Domain. Подозреваю, что для локального пользователя он будет пустым. А для доменного вернет значение. Насколько мои рассуждения верны? Не может ли быть такого, что пользователь вошел локально, а потом авторизировался в домене не меняя локального пользователя? Такая ситуация вообще возможна? Или есть однозначность: или локальный пользователь или пользователь домена?
← →
брат Птибурдукова (2012-11-02 12:57) [3]
> Насколько мои рассуждения верны?
В своё время так и делал. Но есть не слишком очевидная деталь: для юзера system домен nt authority. То бишь не у каждого локального пользователя имя домена пусто.
> Не может ли быть такого, что пользователь вошел локально,
> а потом авторизировался в домене не меняя локального пользователя?
> Такая ситуация вообще возможна?
Смотря что ты под этим подразумеваешь. К примеру, при заходе на сетевую шару, требующую аутентификации, можно ввести доменный юзернейм-пароль и получить к шаре доступ.
← →
>|< (2012-11-02 13:00) [4]проверил этот вариант GetUserNameEx + MSDN
с использованием NameSamCompatible возвращает в результате имя домена.
Осталось проверить, это наш домен или чужой.
Спасибо за помощь!
← →
Медвежонок Пятачок © (2012-11-02 14:52) [5]То есть, узнать, каким образом пользователь залогинился в систему?
Например есть две учетки.
Доменная и локальная.
Имена и пароли совпадают.
Выношу комп из домена, захожу у себя локально.
Дальше лезу на доменную шару, которая мне будет доступна потому что все одинаковое.
Я какой при этом?
← →
БарЛог © (2012-11-02 14:59) [6]> Я какой при этом?
Смотря где. На компе - локальный. На шаре - доменный (если там в разрешениях "domain.loc\domain users" стоит, а не "Все").
← →
Дмитрий С © (2012-11-02 15:58) [7]"%USERDOMAIN%" == %LOGONSERVER%. Не прокатит только для контроллера домена.
← →
БарЛог © (2012-11-02 16:08) [8]Дмитрий С © (02.11.12 15:58) [7]
С моей рабочей станции:
C:\Users\pavel.baranov>echo %USERDOMAIN%
*****
C:\Users\pavel.baranov>echo %LOGONSERVER%
\\DC3
C:\Users\pavel.baranov>
← →
Дмитрий С © (2012-11-02 18:27) [9]
> БарЛог © (02.11.12 16:08) [8]
это значит что ты под доменной учеткой сидишь. Что не так?
← →
Дмитрий С © (2012-11-02 18:28) [10]
> DC3
- это Domain Controller ?
← →
Андреевич (2012-11-02 22:12) [11]с "не доменной" рабочей станции %logonserver% будет равен имени компьютера, и равен %userdomain%. вопрос - что если запустимся на контроллере домена? :)
← →
брат Птибурдукова (2012-11-02 22:33) [12]
> "%USERDOMAIN%" == %LOGONSERVER%. Не прокатит только для
> контроллера домена.
надёёёёёёёёжнейший способ... set logonserver=vasya_pupkin — и все проверки пройдены...
← →
antonn © (2012-11-02 23:28) [13]ну тогда поковырять LookupAccountSid()
← →
Димкана (2012-11-03 11:52) [14]На крнтроллере домена нет локальных учеток.
> logonserver=vasya_pupkin — и все проверки пройдены...
Подобные проверки на стороне клиента обычно в интересах самого клиента, поэтому смысла обманывать нет
← →
БарЛог © (2012-11-05 19:53) [15]Дмитрий С © (02.11.12 18:27) [9]
> это значит что ты под доменной учеткой сидишь. Что не так?
А под локальной что будет? Имя компьютера?
Дмитрий С © (02.11.12 18:28) [10]
> - это Domain Controller ?
Угу
← →
БарЛог © (2012-11-05 20:03) [16]> Угу
А **** - имя домена.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.088 c