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

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

ХП и пользователи [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


Наверх

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