Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.15;
Скачать: CL | DM;

Вниз

Узнать логин соединения чужого приложения на этой же машине   Найти похожие ветки 

 
Vlad Oshin ©   (2007-01-22 11:47) [0]

Т.е., пользователь запустил чужое приложение, залогинился в нем, а оно(чужое приложение) вызывает мой .ехе, мне надо чтоб он(мой *.ехе) знал как залогинились

Все было хорошо, пока отчеты ничего не меняли в БД (коннектился под sysadmin), теперь, кроме отчета, надо чтоб писалось кто этот отчет затребовал.


 
evvcom ©   (2007-01-22 12:12) [1]

> [0] Vlad Oshin ©   (22.01.07 11:47)
> а оно(чужое приложение) вызывает мой .ехе

надо, чтобы это чужое приложение умело информировать об этом твое, а твое эту информацию умело понимать. В противном случае все достаточно сложно.


 
Vlad Oshin ©   (2007-01-22 13:18) [2]


> evvcom ©  

дык было б так - не было б проблем и вопроса...
Свои родные отчеты оно понятно как-то информирует, а как - не понятно.

Я просто слышал, что на сервере сохраяется инф-ция о соединениях, в том числе о машине, и вот если запросить ее и сравнить с текущей машиной, может и получится.

Вопрос тогда такой: Это правда? Как спросить эту инф-цию?


 
clickmaker ©   (2007-01-22 13:45) [3]


> Я просто слышал, что на сервере сохраяется инф-ция о соединениях,
> в том числе о машине

в папке LOG лежат файлы ERRORLOG - ERRORLOG.N, там могут быть записи типа
logon     Login succeeded for user "sa". Connection: Non-Trusted.
если включен аудит
но данных о машине нет.
Данные о машине можно получить только из master..sysprocesses, но пока жив коннект


 
Vlad Oshin ©   (2007-01-22 13:50) [4]


> clickmaker ©   (22.01.07 13:45) [3]


> Данные о машине можно получить только из master..sysprocesses,
>  но пока жив коннект

при первом приближении...а что.. можно и так!
спасибо,


 
Павел Калугин ©   (2007-01-22 14:15) [5]

> [0] Vlad Oshin ©   (22.01.07 11:47)

для текущего логина suser_sname()
но у тебя ситуация веселее, как я понял
в базе тлпа юзеров
кто-то жмет капу и запускается ТВОЕ приложение и лезет в базенку под СОБСТВЕННЫМ логином так?
тогда это, простите, порнография.
Если же оба приложения используют подключение с Windows Autentification то есть логин в базу идет с данными пользователя домена, то тогда suser_sname() спасет.

иначе - надо из основного приложения в твое передавать логин и пароли и с этими данными твое приложение должно лезть в базу.


 
Ega23 ©   (2007-01-22 14:17) [6]

Enterprise Manager -> Server -> Management -> Current Activity -> ProcessInfo
Это то, что master..sysprocesses, посмореть "вживую"


 
Vlad Oshin ©   (2007-01-22 14:24) [7]


> кто-то жмет капу и запускается ТВОЕ приложение и лезет в
> базенку под СОБСТВЕННЫМ логином так?
> тогда это, простите, порнография.

именно так :)
а теперь сделаю так:

под правами админа к master
SELECT  loginame from sysprocesses where hostname="этотРС" and program_name="та_самая_программа" order by login_time desc

и под правами loginame к нужной базе.


> Если же оба приложения используют подключение с Windows
> Autentification то есть логин в базу идет с данными пользователя
> домена, то тогда suser_sname() спасет.

нет, это не так. Авторизация сервером
Юзеры только утром включают свои компы, потом прыгают от машины к машине.


> иначе - надо из основного приложения в твое передавать логин
> и пароли и с этими данными твое приложение должно лезть
> в базу.

боюсь не станут мне говорить как там переается у них...


 
evvcom ©   (2007-01-22 14:31) [8]

> [7] Vlad Oshin ©   (22.01.07 14:24)
> боюсь не станут мне говорить как там переается у них...

а у них тоже внешние exe запускаются для этого?


 
Ega23 ©   (2007-01-22 14:37) [9]


> and program_name="та_самая_программа"


Вот эта штука не всегда отработает. Нужно явным образом имя программы указывать в коннекте.
Я сейчас как раз над данным вопросом работаю...


 
Vlad Oshin ©   (2007-01-22 14:37) [10]


> Ega23 ©   (22.01.07 14:17) [6]

накатал свой просмотрщик баз, очень удобно.
можно пару баз выбрать(с системными таблицами) (надо бы три-четыре поставить было - приходится часто вторую копию запускать :))
Выбираешь базу, там список таблиц, выбираешь таблу, смотришь. можно отредактировать, если уверен :)
парочка мемо для написания запросов, соответственно к той же базе или к другим, в том числе не MS sql
и главное - все максимум за пару часов


 
Vlad Oshin ©   (2007-01-22 14:40) [11]


> evvcom ©   (22.01.07 14:31) [8]
> > [7] Vlad Oshin ©   (22.01.07 14:24)
> > боюсь не станут мне говорить как там переается у них..
> .
>
> а у них тоже внешние exe запускаются для этого?

да. У них штук 30 ехе лежит в каталоге для этого дела. Иногда присылают новые. Что не устраивает наших - я пишу. Я тебе пытался это в пятницу объяснить :)


> Ega23 ©   (22.01.07 14:37) [9]

у них прописано, видимо. Всегда показывает потому что


 
Ega23 ©   (2007-01-22 14:43) [12]


> у них прописано, видимо. Всегда показывает потому что
>


У меня складывается впечатление, что это у API-шного ADOConnection, в делфи-обёртке я этого почему-то не вижу...
Сейчас смотрю, может в свойствах что не так?


 
Ega23 ©   (2007-01-22 14:56) [13]


> У меня складывается впечатление, что это у API-шного ADOConnection,
>  в делфи-обёртке я этого почему-то не вижу...
> Сейчас смотрю, может в свойствах что не так?
>


Короче, надо TADOConnection.ConnectionObject свойства ковырять


 
evvcom ©   (2007-01-22 14:57) [14]

> [11] Vlad Oshin ©   (22.01.07 14:40)
> У них штук 30 ехе лежит в каталоге для этого дела.

Вместо одного из них подсовываешь свой, а в нем делаешь запись в лог. Сначала параметров, переданных в командной строке. Если нет ничего, то дальше думаешь, например, сообщение WM_COPYDATA ловишь, опять нет - все сообщения>WM_USER и т.д. В общем случае может получиться

> [1] evvcom ©   (22.01.07 12:12)
> все достаточно сложно.


 
Павел Калугин ©   (2007-01-22 15:24) [15]

> [7] Vlad Oshin ©   (22.01.07 14:24)
> боюсь не станут мне говорить как там переается у них...

а они и не должны говорить.
Твое приложение дергают? от и будьте любезны параметрами передать. Иначе - не будет вам счастья


 
Vlad Oshin ©   (2007-01-23 17:09) [16]


> Вместо одного из них подсовываешь свой, а в нем делаешь
> запись в лог. Сначала параметров, переданных в командной
> строке. Если нет ничего, то дальше думаешь, например, сообщение
> WM_COPYDATA ловишь, опять нет - все сообщения>WM_USER и
> т.д. В общем случае может получиться

уфф ...
Сделал. Нифига.
А чем черт ни шутит - запустил файлмон, регмон...
и в итоге, оказалось, что эти пип-пип-пип данными обменивались через текстовый файл в директории основной программы!

как то так и файл то называется ~data.ask :)



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

Текущий архив: 2007.04.15;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.046 c
2-1174569990
Chaval'
2007-03-22 16:26
2007.04.15
файл


15-1174119405
Vlad Oshin
2007-03-17 11:16
2007.04.15
Мысли про детей женского пола


15-1174415199
TUser
2007-03-20 21:26
2007.04.15
Купить и "украсть"


2-1174879808
sergeyxxx
2007-03-26 07:30
2007.04.15
Работа с принтером


2-1174460053
Vas
2007-03-21 09:54
2007.04.15
Генератор чисел