Переход от прямого подключения к базе данных для каждого пользователя к использованию веб-сервиса с пулом подключений

StackOverflow https://stackoverflow.com/questions/1906224

Вопрос

Я работаю над переводом клиента V.Rich от прямого взаимодействия с БД с одним входом для каждого пользователя к прямому общению с уровнем службы WCF.

В новой модели я предлагаю пользователям аутентифицироваться на среднем уровне, а на среднем уровне у нас есть только одна учетная запись для подключения к базе данных.

Моя проблема заключается в том, что триггеры базы данных и процедуры хранения используют функцию USER() в базе данных для выполнения аудита.Как заменить эту функцию, если используется только одна учетная запись БД?

Надеюсь, я объяснил проблему, но любые вопросы отпадут.Если вам интересно, платформа — .Net, WCF и Mysql.

Спасибо,

Том.

Это было полезно?

Решение

Чтобы заменить это, добавьте дополнительный параметр в ваши процессы и передайте пользователя, которого знает приложение.Поскольку вы объединяете свои соединения в пул, библиотека БД понятия не имеет, кто настоящий конечный пользователь...он знает только пользователя промежуточного программного обеспечения.Таким образом, вам нужно проксировать значение, которое вы хотите проверить, в процедуры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top