столкнулся с этой проблемой с v3.1.2, но он работает, когда я перехожу к v3.1.0 (с предупреждением, что эта версия больше не поддерживается) временно обходится.
Можно использовать Windows Server для создания пользователей, которым разрешают получить доступ базе данных SQL Server. Затем можно использовать интегрированный вход в систему окон в строках подключения.
BTW Хранение паролей в общедоступном MDB представляет их не важный. То же, поскольку они не существуют.
Компания, на которую я работаю, использовала аналогичную ситуацию через базу данных SQL Server вместо этого. Мы закончили тем, что создали COM-совместимый .NET dll, чтобы упростить и защитить API в базу данных и гарантировать, что та же логика используется между классическим asp, .NET и пакетами DTS. Это работало отлично для нас в течение года и в то время как существуют некоторые объекты рефакторинга, которые многие из нас хотели бы сделать с ним, было замечательно решить проблемы как миграции сервера или переименования.
Я думаю, что Вы находитесь на правильном пути; однако, я рекомендовал бы следующие изменения:
Править:
Что-то, что я заметил после рабочих лет в системе как это, - то, что она связывает Ваши руки немного на некоторых решениях. Много инструментов там (т.е. nHibernate, Elmah, и т.д. в мире .NET) действительно ограничены, когда строка подключения больше не находится в файлах конфигурации. Многие могут быть легко изменены для использования API; однако, это - что-то, что занимает больше времени, чтобы заняться расследованиями, если Вы хотите использовать его. Просто к вашему сведению на этом.
Разве не возможно переместиться в Интегрированную защиту Окна в строках подключения, затем Вы не должны волноваться об аспекте безопасности так же (если Вы не должны защищать фактическое местоположение соединения, я предполагаю).