Приложение, которое сейчас разрабатывает моя команда, имеет DLL, которая используется для выполнения всех операций доступа к базе данных. Приложение не может использовать доверенное соединение, потому что база данных находится за брандмауэром, а сервер домена - нет. Таким образом, похоже, что строка подключения должна иметь имя пользователя и пароль БД. В настоящее время в DLL жестко запрограммирована строка подключения к базе данных, но я не хочу этого делать, когда мы запускаем, поскольку сборку можно разобрать, а имя пользователя и пароль будут прямо там, в открытом виде.
Одно из требований состоит в том, что пароль нужно менять раз в несколько месяцев, поэтому нам нужно будет распространить это на нашу внутреннюю базу пользователей.
Есть ли способ сохранить зашифрованный пароль таким образом, чтобы его можно было легко распространить среди всей пользовательской базы, не сохраняя его в сборке?
ОБНОВЛЕНИЕ: Спасибо всем, кто ответил. Я постараюсь ответить мне на некоторые вопросы ... DLL данных используется как ASP.NET WebForms, так и VB.NET WinForms. Я понимаю, что у приложений могут быть свои собственные файлы конфигурации, но я ничего не видел в файлах конфигурации для библиотек DLL. К сожалению, я не могу добраться до поста Джона Гэллоуэя на работе, поэтому не могу судить, сработает ли это. С точки зрения разработки, мы не хотим использовать веб-сервисы внутри компании, но, возможно, в следующем году предоставим их третьим сторонам. Я не думаю, что олицетворение сработает, потому что мы не можем аутентифицировать пользователя через брандмауэр. Поскольку пользователь (или бывший пользователь) может быть злоумышленником, мы скрываем это от всех!