Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имя пользователя [D7, MSSQL]


paul_k ©   (2003-12-09 15:03:00) 

Возможно ли узнать имя пользователя из программы (Авторизация в сервере по виндовому логину LoginPrompt = false). Если возможно то как?


paul_k   (2003-12-10 11:48:00) [1]

2 AndrewK
Дело в том, что мыне ищем легких путей.
есть непонятное желание до конекта с сервером вытащить данные о пользователе из Active Directory по LDAP протоколу. И любезно предоставленая stone © (09.12.03 16:32) [10]информация как раз позволяет жто сделать.

2 tchn © (09.12.03 17:19) [12]
это БДЕ
а если АДО?


AndrewK   (2003-12-10 01:01:00) [2]

Если MSSQL, то помогает Current_User и System_User. Мне больше нравится System_User, так как он определяет и доменные имена и собственные.


tchn   (2003-12-09 17:19:00) [3]

ды не секрет. db.params["username"]


paul_k   (2003-12-09 16:42:00) [4]

Спасибо функция помогла


stone   (2003-12-09 16:32:00) [5]

Вообще виндовый логин можно получить следующим способом:

function GetWinUserName: string;
var
UserName : string;
UserNameLen : Dword;
begin
UserNameLen := 255;
SetLength(userName, UserNameLen);
if GetUserName(PChar(UserName), UserNameLen) Then
Result := Copy(UserName,1,UserNameLen - 1)
else Result := "Unknown";
end;


stone   (2003-12-09 16:30:00) [6]


> Index - 3; Name - User ID; Value:


paul_k   (2003-12-09 16:16:00) [7]

ну все крыша поехала окончательно
может я не туда лезу?

main_con : TAdoConnection;
.....
main_con.Properties.Item[i].Value


в результате
Index - 0; Name - Integrated Security; Value: SSPI
Index - 1; Name - Password; Value:
Index - 2; Name - Persist Security Info; Value: False
Index - 3; Name - User ID; Value:
Index - 4; Name - Initial Catalog; Value: inventory
Index - 5; Name - Data Source; Value: KALUGIN
Index - 6; Name - Window Handle; Value:
Index - 7; Name - Locale Identifier; Value: 1049
Index - 8; Name - Prompt; Value: 4
Index - 9; Name - Extended Properties; Value:
Index - 10; Name - Connect Timeout; Value: 15
Index - 11; Name - General Timeout; Value: 0
Index - 12; Name - OLE DB Services; Value: -5
Index - 13; Name - Current Language; Value:
Index - 14; Name - Network Address; Value:
Index - 15; Name - Network Library; Value:
Index - 16; Name - Use Procedure for Prepare; Value: 1
Index - 17; Name - Auto Translate; Value: True
Index - 18; Name - Packet Size; Value: 4096
Index - 19; Name - Application Name; Value:
Index - 20; Name - Workstation ID; Value: KALUGIN
Index - 21; Name - Initial File Name; Value:
Index - 22; Name - Use Encryption for Data; Value: False
Index - 23; Name - Replication server name connect option; Value:
Index - 24; Name - Tag with column collation when possible; Value: False


и откель имя юзера тащить?.. не понимаю


paul_k   (2003-12-09 15:47:00) [8]

для доступа через БДЕ спасибо, работает.
но к сожалению это TAdoConnection


Sandman25   (2003-12-09 15:40:00) [9]

Database.Params.Values["LOGIN"]


paul_k   (2003-12-09 15:35:00) [10]

а не секрет из которого свойства?


tchn   (2003-12-09 15:32:00) [11]

да как раз из параметров коннекшна и бери имя пользователя


paul_k   (2003-12-09 15:15:00) [12]

"SELECT" слишком просто. А "мы не ищем легких путей"
скорее это имя пользователя в домене, до конекта к серверу.
а select SUSER_SNAME() это конечно легко и удобно, но увы, после авторизации.
Если LoginPrompt = true то в событии onlogin конекшена эта информация уже доступна а вот если нет то как быть?


Nikolay M.   (2003-12-09 15:10:00) [13]

Имя пользователя ЧЕГО? MS SQL-а? Элементарно - GetUserName, если виндовая аутентификация?


me   (2003-12-09 15:10:00) [14]

функцией SUSER_SNAME():
select SUSER_SNAME()


Наверх

Титульная страница Поиск, карта сайта Написать письмо