Программное изменение строки подключения в файле web.config

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

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

Я узнал, что файл web.config дает только те значения, которые мы предоставляем во время компиляции. Чтобы преодолеть эту ситуацию, я использую XML-файлы для хранения строки подключения, которая не защищена для хранения защищенной и конфиденциальной информации. Потому что мое приложение должно иметь возможность изменять строку подключения из внешнего интерфейса.

Мои вопросы:

  1. Есть ли способ безопасно хранить строку подключения и динамически изменять ее при изменении из приложения.
  2. Я могу получить доступ к своему файлу XML через браузер и просмотреть все сведения о подключении, как я могу ограничить доступ к файлу XML из URL-адреса.

и любое другое лучшее решение приветствуется.


person V G S Naidu    schedule 09.08.2014    source источник
comment
и я узнал, что файл web.config дает только те значения, которые мы предоставляем во время компиляции - это не то, как работают *.config файлы. Сосредоточьтесь на проблеме конфигурации, вы сможете обновить файл конфигурации из кода и прочитать новое значение во время выполнения. Создайте небольшую программу для решения этой проблемы, а затем включите ее в свой проект. Вам нужно показать свой (соответствующий!) код, если вы хотите, чтобы кто-то мог помочь решить вашу проблему.   -  person CodeCaster    schedule 09.08.2014


Ответы (1)


1) Есть ли способ безопасно хранить строку подключения и динамически изменять ее при изменении из приложения.

Почему бы не хранить строку подключения в зашифрованном виде? Строка подключения — это просто строка, поэтому вы можете сохранить ее в XML или даже в другой базе данных. Вам нужно будет сделать так, чтобы ваш код читал это как строку подключения, а не строку из web.config. Приложение ASP.NET не обязано читать строки подключения из web.config.

2) Я могу получить доступ к своему файлу XML через браузер и просмотреть все сведения о подключении, как я могу ограничить доступ к файлу XML из URL-адреса.

Сохраните файл в /App_Data — это специально защищенная папка .NET, доступ к которой через веб-сервер запрещен. то есть http://www.example.com/App_Data/foo.xml не может быть прочитан.

person SilverlightFox    schedule 10.08.2014
comment
Спасибо за ответ, обязательно попробую реализовать, спрашиваю об этом, потому что если есть какие-то альтернативы. - person V G S Naidu; 11.08.2014