![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ХП и пользователи [D6, IB7]
ksan © (2003-12-22 18:56:00)
Здравствуйте, уважаемые!
Можно ли в ХП определить зарегистрированного пользователя, который запустил эту ХП, с тем, чтобы в зависимомти от имени пользователя и предоставленных ему прав выполнять определенные действия? Если можно, то как получить его имя?
Deniz (2003-12-23 13:35:00) [1]
Query1.SQL.Add("select USER from RDB$DATABASE");
Query1.Open;
Label1.Caption:=Query1.Fields[0].AsString;
Query1.Close;
примерно так, но ... вроде USER или CURRENT_USER в зависимости от сервера. Для FB 1.5 работают оба варианта, но вот для IB7 не знаю.
stud (2003-12-23 09:26:00) [2]
после подключения к БД например, вроде label1.caption:=database.parambyname("user name")
или создаеш свою таблицу с описаинем пользователей на русском языке и после подключения выбираеш данные из нее
Trad (2003-12-23 02:53:00) [3]
а конкретно, как код написать?
Rad (2003-12-23 01:10:00) [4]
Trad (23.12.03 00:26) [5]
мне нужно, чтобы в Lable.Caption отображался пользователь, как это сделать?
Подумать :)
Опять же, каждый клиент ведь и так знает, под кем подсоединяется...
Trad (2003-12-23 00:26:00) [5]
мне нужно, чтобы в Lable.Caption отображался пользователь, как это сделать?
kaif (2003-12-23 00:15:00) [6]
Trad (22.12.03 23:06) [3]
как пользоваться CURRENT_USER?
Очень просто -
определив в ХП зарегистрированного пользователя, который запустил эту ХП, в зависимомти от имени пользователя и предоставленных ему прав, выполнять определенные действия.
Так как ХП работает на сервере, то и действия она выполняет обычно над базой данных. Можно, конечно, какой-нибудь EVENT в ней сгенерить, зарегистрировать его в приложении и повесить обработчик на событие, когда этот EVENT возникнет, в котором Lable.Caption присваивать. Но зачем? Приложение и так знает, какой юзер логинится.
Кстати, права предоставляются не только юзеру, но и могут предоставляться роли. Узнать роль можно с помощью CURRENT_ROLE.
USER и CURRENT_ROLE - функции, возвращащие имя пользователя и его роль в текущей транзации и могут использоваться в SQL-запросах, триггерах и ХП.
Trad (2003-12-22 23:06:00) [7]
как пользоваться CURRENT_USER?
Trad (2003-12-22 21:45:00) [8]
а это как?
label52.Caption:=CURRENT_USER; чтоли? - не работает....
Rad (2003-12-22 19:38:00) [9]
CURRENT_USER
вроде, и
USER