Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

Как узнать имя пользователя под которым комп вошел в сеть(домен)?   Найти похожие ветки 

 
zam   (2002-06-21 18:37) [0]

Можно ли вообще узнать имя под которым пользователь подключился(аутентифицировался) в домене под WinNT и подключен ли он к домену вообще. Задача в том, чтобы защита проги была основана на NT защите. Просто даже примерно не знаю как подойти к проблемме.

Подскажите ПЛИЗ !!!!!!!


 
ZZ   (2002-06-21 19:04) [1]

http://rsdn.ru/forum/?mid=10429


 
Song   (2002-06-21 19:37) [2]

GetUserName() ?


 
DeMoN-777   (2002-06-22 11:07) [3]

Единая база процедур и функций для Delphi для сайта Мастера Delphi - тестовая версия



Получение текущего имени пользователя

http://delphibase.endimus.com/?action=viewfunc&topic=sysparams&index=8

С уважением.


 
GrayFox   (2002-06-22 15:22) [4]

Как получить имя домена? В то что на сайте МС, в базе знаний, мне врубиться трудно, в справке делфи такой функции нет.


 
ZZ   (2002-06-22 16:11) [5]

Я на всякий случай процетирую :)
//**********************************************************************
//
// FUNCTION: GetCurrentUserAndDomain - This function looks up
// the user name and domain name for the user account
// associated with the calling thread.
//
// PARAMETERS: szUser - a buffer that receives the user name
// pcchUser - the size, in characters, of szUser
// szDomain - a buffer that receives the domain name
// pcchDomain - the size, in characters, of szDomain
//
// RETURN VALUE: TRUE if the function succeeds. Otherwise, FALSE and
// GetLastError() will return the failure reason.
//
// If either of the supplied buffers are too small,
// GetLastError() will return ERROR_INSUFFICIENT_BUFFER
// and pcchUser and pcchDomain will be adjusted to
// reflect the required buffer sizes.
//
//**********************************************************************

BOOL GetCurrentUserAndDomain(PTSTR szUser, PDWORD pcchUser,
PTSTR szDomain, PDWORD pcchDomain) {

BOOL fSuccess = FALSE;
HANDLE hToken = NULL;
PTOKEN_USER ptiUser = NULL;
DWORD cbti = 0;
SID_NAME_USE snu;

__try {

// Get the calling thread"s access token.
if (!OpenThreadToken(GetCurrentThread(), TOKEN_QUERY, TRUE,
&hToken)) {

if (GetLastError() != ERROR_NO_TOKEN)
__leave;

// Retry against process token if no thread token exists.
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY,
&hToken))
__leave;
}

// Obtain the size of the user information in the token.
if (GetTokenInformation(hToken, TokenUser, NULL, 0, &cbti)) {

// Call should have failed due to zero-length buffer.
__leave;

} else {

// Call should have failed due to zero-length buffer.
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
__leave;
}

// Allocate buffer for user information in the token.
ptiUser = (PTOKEN_USER) HeapAlloc(GetProcessHeap(), 0, cbti);
if (!ptiUser)
__leave;

// Retrieve the user information from the token.
if (!GetTokenInformation(hToken, TokenUser, ptiUser, cbti, &cbti))
__leave;

// Retrieve user name and domain name based on user"s SID.
if (!LookupAccountSid(NULL, ptiUser->User.Sid, szUser, pcchUser,
szDomain, pcchDomain, &snu))
__leave;

fSuccess = TRUE;

} __finally {

// Free resources.
if (hToken)
CloseHandle(hToken);

if (ptiUser)
HeapFree(GetProcessHeap(), 0, ptiUser);
}

return fSuccess;
}


Ну и чего нет в дельфях ? Описание всех функций можно найти там-же в MSDN.


 
zam   (2002-06-22 22:03) [6]

Да, функция работает, но как узнать, подключен ли пользователь к домену или нет, ведь когда это просто локальный пользователь, вместо домена возвращается ися локального компа.


 
ZZ   (2002-06-23 04:43) [7]

zam
Ну и каким боком локальный пользователь подключен к домену?



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-3573
Posny
2002-08-06 08:32
2002.09.02
RXLib275 D6


1-3356
eruc
2002-08-22 05:38
2002.09.02
exception


14-3575
AL2002
2002-08-02 17:56
2002.09.02
Есть у кого-то резак Teak W58E?


7-3633
neo_max
2002-06-21 12:53
2002.09.02
Вопрос !!!!


1-3346
Cr@sh
2002-08-21 20:08
2002.09.02
Изменение картинки в b:TBitmap.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский