Я бродил по интернету, чтобы выяснить, какое лучшее решение для моей проблемы будет, но я не могу найти удовлетворительный ответ.Программируемое изменение в вашем web.config в выпуске release
Моя проблема заключается в том, что я хочу, чтобы администратор моего веб-сайта мог изменить настройки сервера (адрес электронной почты, пароль и URL-адрес конечной точки сервера Exchange) - это должно быть возможно сделать в браузере, поэтому администратор не делает должен открыть файл web.config. Настройки редко устанавливаются, но возможность для него должна присутствовать.
Что мне теперь делать, что, как только администратор заполняет мою форму, мой контроллер установит новые значения в web.config AppSettings:
<appSettings>
<add key="ewsUser" value="[email protected]" />
<add key="ewsPW" value="somePW" />
<add key="ewsUrl" value="https://outlook.ews.com/xxx.asmx" />
</appSettings>
Это где начинается моя большая проблема, из-за все мои исследования через Интернет. Допустим, что мое приложение сейчас в сети и используется сотнями людей 24/7, будет ли это решение проблемой? Я читал, что если вы внесете изменения в свой файл web.config, он запустит ваше приложение на сервере, не отбрасывая всех клиентов. Но повлияет ли это на сеанс, когда клиенты находятся в правильном положении в тот момент? Будет ли сервер забывать о своих сеансах?
Я немного читал о плохих практиках, и this article заявляет, как его можно решить, создав новый файл .config и связавшись с этим файлом конфигурации в файле настроек web.config AppSettings. Но действительно ли это необходимо? Я считаю это немного более грязным, чем мое текущее решение.
Любые идеи, мысли и/или факты были бы оценены.
Благодарим вас за ответ Marthijn - ваши два решения были также в моем «ведре выбора». Теперь для последующего вопроса. Какое из вышеперечисленных решений будет самым трудным для взлома? Имейте в виду, что данные в базе данных будут зашифрованы и засолены (по крайней мере, пароль). – Adam
Зависит, если у вас уже есть база данных, это, вероятно, самый простой. XML не так уж и трудный, просто используйте сериализацию, и .NET обработает его. Я также должен зашифровать пароль в файле XML. – Marthijn