Не нашла ответа на форуме:
Клиенту важно, чтобы пользователи не имели возможность выгрузить клиентов из базы.
В клиенте ТС такие возможности позакрывали, а как быть с SQL Serverом? Пользователь может зайти под своим логином/паролем например в Management Studio и вытянуть из таблиц в файл данные. Как запретить?
Нравится
Здравствуйте, Анна.
Если запретить пользователям на уровне БД выполнять SELECT'ы к БД, то и Terrasoft не будет работать. Поэтому тут нужно администрировать на уровне Windows - т.е. запретить устанавливать новый софт (MS SQL Management Studio), если он уже имеется - запретить его запуск всем, кроме администратора (к примеру).
Тут вариант - прятать в бинарник логины/пароли и запускать ТС с них. Или как еще?
Можно сделать триггер на вход в систему, и проверять на то, какая программа пытается законнектиться, например, если это не sa и программа не TSClient.exe - то не давать войти в систему.
Вот пример из справки MS SQL
Можно использовать триггеры входа для проверки и управления сеансами сервера, например для отслеживания входов в систему, ограничения входов в SQL Server или ограничения числа сеансов для конкретного имени входа. Например, в следующем коде триггер входа запрещает попытки входа на SQL Server, инициированные под именем входа login_test, если уже созданы три пользовательских сеанса под этим именем входа.
USE master; GO CREATE LOGIN login_test WITH PASSWORD = '3KHJ6dhx(0xVYsdf' MUST_CHANGE, CHECK_EXPIRATION = ON; GO GRANT VIEW SERVER STATE TO login_test; GO CREATE TRIGGER connection_limit_trigger ON ALL SERVER WITH EXECUTE AS 'login_test' FOR LOGON AS BEGIN IF ORIGINAL_LOGIN()= 'login_test' AND (SELECT COUNT(*) FROM sys.dm_exec_sessions WHERE is_user_process = 1 AND original_login_name = 'login_test') > 3 ROLLBACK; END;
Евгений, спасибо за публикацию варианта решения вопроса.
Анна, если возникнут дополнительные вопросы - обращайтесь.
А как обходится вариант с использованием триггера на logon?
А что делает триггер, смотрит название файла программы? Кстати, как? Так файл и переименовать можно.
Или обменивается с клиентом какими-то незадокументированными позывными?
"Анна Проненко" написал:
Миxалыч пишет:
нужна трехзвенка
?
Здравствуйте, Анна. Скорее всего имеется ввиду "Трёхуровневая архитектура":
Ссылка