Авторизоваться в программу как в саму Windows!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Авторизоваться в программу как в саму Windows!

Сообщение Went » 28.10.2010 (Чт) 9:58

Вопрос прост:
Человек входит в Windows (xp или 7). Сама винда может быть в домене, а может и не быть. Так вот, где и как можно достать, под каким логином и под каким паролем он вошел? По сути, надо, чтобы программа брала эти данные, по ним определяла права пользователя на использование своих (т.е. самой программы) ресурсов (допустим есть база с логинами и паролями и забитыми на каждую пару правами). Слышал, что где-то в реестре в CURRENT_USER, но перекапывать всю ветку, сами понимаете - долго. Подобная система наблюдается, скажем, в Microsoft Navision, в базу можно войти под авторизацией Windows. Подскажите, пожалуйста, как эту инфу можно получить?
Не все ОПЕРАТОРЫ одинаково хороши

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Авторизоваться в программу как в саму Windows!

Сообщение FireFenix » 28.10.2010 (Чт) 10:08

Went писал(а):Так вот, где и как можно достать, под каким логином и под каким паролем он вошел?

Могу тебя огорчить, пароли лежат в захешированном виде в файле *.sam

Могу ошибаться, но Win Авторизация вроде проверяется только по логину, полученным с АПИ GetUserName...
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: Авторизоваться в программу как в саму Windows!

Сообщение Went » 28.10.2010 (Чт) 10:28

Называется "пыщь" :D Хотя, мне по барабану, пароль подойдет и в зашифрованном виде. Какая разница, забит в базу будет настоящий пароль типа QWEqwe321 или белиберда типа Hh&hf623, которая получается каждый раз при зашифровке пароля "QWEqwe321". В программу будет передаваться эта белиберда в качестве пароля, а так как она была забита изначально, как верный пароль (пусть и зашифрованный) - программа ее примет и определит права.
А насчет авторизации Windows... в принципе - вполне почти готов поверить, ибо пароль можно сменить. У нас на работе стоит Nav... и я не уверен, что идет синхронизация паролей между доменом и базой Nav. Но я подожду еще ответов, может еще что скажут.
Не все ОПЕРАТОРЫ одинаково хороши

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Авторизоваться в программу как в саму Windows!

Сообщение Денис » 28.10.2010 (Чт) 10:54

Да просто запускай программу от имени нужного пользователя. RunAs погугли. Для доступа к ресурсам этого вполне достаточно. Вопрос взлома паролей это уже другой вопрос.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: Авторизоваться в программу как в саму Windows!

Сообщение Went » 28.10.2010 (Чт) 11:04

Ломать пароли мне не надо. Хотел бы ломать - использовал бы кейлоггер.\
В честь появления ответа по поводу RunAs придется, чую, расписать задачу, чтобы избежать непоняток.
Есть база. Лежит на сервере. Несколько копий программы установлены на разных рабочих станциях. С них люди открывают эту базу и используют. По забитым в эту же базу правам программа определяет, какие права дать тому или иному пользователю. То есть, скажем, база содержит информацию по телефонным номерам. 98% пользователей погут использовать ее только в режиме Read-Only и лишь секретари могут редактировать. Но условие, для редактирования секретарь (у нас домен) может войти с любого компа и редактирование должно работать.
Не все ОПЕРАТОРЫ одинаково хороши

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Авторизоваться в программу как в саму Windows!

Сообщение Antonariy » 28.10.2010 (Чт) 12:14

По забитым в эту же базу правам программа определяет, какие права дать тому или иному пользователю.

И зачем для этого пароль? Зачем дублировать авторизацию, которую уже провела система? В базе достаточно хранить логин.
Лучший способ понять что-то самому — объяснить это другому.

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: Авторизоваться в программу как в саму Windows!

Сообщение Went » 28.10.2010 (Чт) 12:27

FireFenix писал(а):Win Авторизация вроде проверяется только по логину, полученным с АПИ GetUserName...

Went писал(а):насчет авторизации Windows... в принципе - вполне почти готов поверить, ибо пароль можно сменить.

Antonariy писал(а):В базе достаточно хранить логин.

Убедили :) Спасибо :)
Не все ОПЕРАТОРЫ одинаково хороши

0xy
Бывалый
Бывалый
 
Сообщения: 223
Зарегистрирован: 14.06.2006 (Ср) 2:34

Re: Авторизоваться в программу как в саму Windows!

Сообщение 0xy » 30.10.2010 (Сб) 5:19

Antonariy писал(а):В базе достаточно хранить логин

Went писал(а):Сама винда может быть в домене, а может и не быть

А что в последнем случае помешает подделать логин?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Авторизоваться в программу как в саму Windows!

Сообщение Antonariy » 01.11.2010 (Пн) 15:56

0xy писал(а):
Antonariy писал(а):В базе достаточно хранить логин

Went писал(а):Сама винда может быть в домене, а может и не быть

А что в последнем случае помешает подделать логин?
Ну тогда SID или как он там называется, этот идентификатор.
Лучший способ понять что-то самому — объяснить это другому.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Re: Авторизоваться в программу как в саму Windows!

Сообщение netdemon » 19.11.2010 (Пт) 17:57

А не проще использовать средства самой базы данных.?
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Mail.ru [бот], Yandex-бот и гости: 65

    TopList  
cron