Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / SID пользователя. Есть ли такое понятие в Sybase ASA? / 15 сообщений из 15, страница 1 из 1
07.12.2005, 10:31
    #33421343
np9mi7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Добрый день!

Задача:
Необходимо фиксировать действия текущего пользователя в БД и дать пользователю просматривать те действия которые он совершил.

Решение:
Таблица с указанием действия пользователя и его уникальным идентификатором . Представление с запросом всех записей из этой таблицы по идентификатору текущего пользователя.

Что является уникальным идентификатором пользователя в Sybase ASA помимо его имени? Как получить этот идентификатор? Как получить идентификатор текущего пользователя (в рамках текущего соединения)?

Заранее благодарен за ответы.

ps: Sybase ASA 9.0.2.3221
...
Рейтинг: 0 / 0
07.12.2005, 10:49
    #33421415
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Если вам нужна история действий пользователя, то в любом случае придется хранить время совершения той или иной операции. Для полноты картины добавьте еще IP-адрес, с которого подключился пользователь. Или этого тоже недостаточно?

В чем именно должна заключаться уникальность идентификации пользователя? Чем не устраивает имя пользователя?
...
Рейтинг: 0 / 0
07.12.2005, 10:59
    #33421451
np9mi7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Andyn В чем именно должна заключаться уникальность идентификации пользователя? Чем не устраивает имя пользователя?

Дело в том что имя пользователя можно измениться, а фактически он останеться тем же самым человеком. Для этих целей в Microsoft SQL Server у каждого пользователя есть SID - его уникальный идентификатор, те даже после удаления пользователя и добавления пользователя с именем как у удаленного его SID будет уникальным.

Поэтому и вопрос: Есть ли у пользователей базы данных Sybase ASA SID?
...
Рейтинг: 0 / 0
07.12.2005, 11:16
    #33421506
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
np9mi7 wrote:

> Есть ли у пользователей базы данных Sybase ASA SID?

Нет, это не M$SQL.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.12.2005, 11:19
    #33421523
np9mi7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Dim2000Нет, это не M$SQL.
То есть, если я Вас правильно понял, пользователя в базах данных Sybase ASA ничего кроме его имени однозначно не идентифицирует?
...
Рейтинг: 0 / 0
07.12.2005, 11:22
    #33421535
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
np9mi7 wrote:

> То есть, если я Вас правильно понял, пользователя в базах данных
> Sybase ASA ничего кроме его имени однозначно не идентифицирует?

AFAIK да.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.12.2005, 11:35
    #33421583
np9mi7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Dim2000 , это что же получается... При удалении пользователя из базы данных история его транзакций теряется?
...
Рейтинг: 0 / 0
07.12.2005, 11:39
    #33421600
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
np9mi7 wrote:

> При удалении пользователя из базы
> данных история его транзакций теряется?

Если я правильно понял, что такое "история его транзакций", то нет.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.12.2005, 11:49
    #33421647
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Вообще то:
Код: plaintext
SELECT User_id(CURRENT USER)
и даст код пользователя. Только есть одно небольшое "НО" - в ASA с точностью до наоборот, чем в MSSQL - логин поменять нельзя, его можно только дропнуть. А вот код пользователя спокойненько может поменяться, например после той же перегрузки БД или удалению и созданию пользователя (правда здесь можно спокойно при создании жестко ему указать его код).

P.S. Ну а про аудит действий пользователя на триггерах по всем таблицам лучше я промолчу, тема изьезженная, даже говорить бестолку.
...
Рейтинг: 0 / 0
07.12.2005, 11:50
    #33421648
prokhorov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
2Dim2000

>np9mi7 wrote:
> То есть, если я Вас правильно понял, пользователя в базах данных
> Sybase ASA ничего кроме его имени однозначно не идентифицирует?
>AFAIK да.

Дико извиняюсь - я не спец в ASA, хотелось бы уточнить, а разве поле suid не аналог макрософтовского SID (можно,наверно, и uid притянуть для подобной задачи).

Подчерпнул это из запросов в системных таблицах :

select * from syslogins (IMHO это скорее для совеместимости c ASE)
select * from sysusers
go

Использовал послений ASA 9.0.2.

Или я не прав ?
...
Рейтинг: 0 / 0
07.12.2005, 12:02
    #33421722
prokhorov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Сорри, точнее чуть наврал : sysusers, syslogins - view, но докопаться до уникальных ид пользователей все равно, наверно, можно. Или нет ?
...
Рейтинг: 0 / 0
07.12.2005, 12:11
    #33421763
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
для аса из системных таблиц можно получить ид - user_id

SELECT * FROM "SYS"."SYSUSERPERM"
...
Рейтинг: 0 / 0
07.12.2005, 12:15
    #33421780
Я
Я
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
а так ASCRUS все верно написал :)
...
Рейтинг: 0 / 0
07.12.2005, 13:20
    #33422070
Andyn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
np9mi7 Дело в том что имя пользователя можно измениться, а фактически он останеться тем же самым человеком. Для этих целей в Microsoft SQL Server у каждого пользователя есть SID - его уникальный идентификатор, те даже после удаления пользователя и добавления пользователя с именем как у удаленного его SID будет уникальным.
Не совсем понятно зачем давать новому пользователю тот же самый логин?
Для идентификации пользователя в БД ASA вполне достаточно его имени. Имя всегда уникально.

Для отслеживания изменения логина конкретного лица (что само по себе немного странная задача, разве смены пароля недостаточно?), так или иначе потребуется подсистема учета времени действия каждого логина (не знаю как с этим в MS SQL, возможно есть что-то встроенное). При этом никто не мешает вам не удалять физически пользователей, а просто запрещать им соединение с базой. В этом случае нельзя будет создать нового пользователя с именем старого.

np9mi7
...это что же получается... При удалении пользователя из базы данных история его транзакций теряется?

История действий НЕ теряется после удаления логина, при условии сохранения всех логов транзакций. В любой момент эту историю можно восстановить. Конечно это потребует дополнительных усилий по расшифровке лога с помощью специальной утилиты. Тем более история не теряется, если вы ее держите в отдельных таблицах.

И мне кажется, что вы смешиваете вместе несколько разных проблем, как технических, так и организационных. Может расскажете поподробнее?
...
Рейтинг: 0 / 0
08.12.2005, 18:54
    #33425941
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SID пользователя. Есть ли такое понятие в Sybase ASA?
Самый правильный, полный и подробный аудит пользователя делается при помощи расшифровки лога транзакций. Даешь команду
dbtran.exe -uUser1,User2,User3 MyDB.log
и получаешь подробнейший MyDB.sql скрипт с датами логинов, и всеми командами которые юзер выполнил.

Номера юзеров можно получить через системную функцию user_id() или выборкой из вьюшки sys.sysusers. Там будет и uid и даже suid (который впрочем всегда совпадает с uid).
user_id нужно использовать только просматривании структуры базы. Это единственное место где без номера пользователя не обойтись. Во всех остальных случаях логинное имя пользователя - достаточно для всего.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / SID пользователя. Есть ли такое понятие в Sybase ASA? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]