Переход от прямого подключения к базе данных для каждого пользователя к использованию веб-сервиса с пулом подключений
-
19-09-2019 - |
Вопрос
Я работаю над переводом клиента V.Rich от прямого взаимодействия с БД с одним входом для каждого пользователя к прямому общению с уровнем службы WCF.
В новой модели я предлагаю пользователям аутентифицироваться на среднем уровне, а на среднем уровне у нас есть только одна учетная запись для подключения к базе данных.
Моя проблема заключается в том, что триггеры базы данных и процедуры хранения используют функцию USER() в базе данных для выполнения аудита.Как заменить эту функцию, если используется только одна учетная запись БД?
Надеюсь, я объяснил проблему, но любые вопросы отпадут.Если вам интересно, платформа — .Net, WCF и Mysql.
Спасибо,
Том.
Решение
Чтобы заменить это, добавьте дополнительный параметр в ваши процессы и передайте пользователя, которого знает приложение.Поскольку вы объединяете свои соединения в пул, библиотека БД понятия не имеет, кто настоящий конечный пользователь...он знает только пользователя промежуточного программного обеспечения.Таким образом, вам нужно проксировать значение, которое вы хотите проверить, в процедуры.