В основном приложение, над которым я работаю, содержит множество параметров, все из которых управляются из файла конфигурации xml, который содержит конфигурации для каждой машины, на которой выполняется аппликация (live и dev). У меня есть проблема: я хочу иметь возможность управлять полем проверки подлинности на основе форм, поэтому в файле конфигурации я могу указать этот флаг.Аутентификация форм requiressl
Это должно привести к тому, что флажок requiressl будет истинным в живой среде, а там, обеспечив ssl и создав защищенный файл cookie. Для среды dev я не хочу использовать ssl для всех машин dev.
Я не хочу манипулировать файлом web.config, чтобы сделать это. Я хотел бы, чтобы мой код приложения читался в xml-конфигурации и соответствующим образом их устанавливал.
Я попытался использовать отражатель, чтобы перейти в закрытый класс проверки подлинности формы и обнаружил, что свойство requiressl имеет только метод get, не заданный метод.
Я также попытался реализовать класс конфигурации formauthenticationconfiguration, но безрезультатно. - Я не уверен, что делаю это правильно.
Любая помощь в поиске возможного решения этой проблемы будет принята с благодарностью.
С наилучшими пожеланиями,
Gurpreet
Попытка 1:
Впоследствии я попытался это:
PropertyInfo field = typeof (FormsAuthentication).GetProperty("RequireSSL");
field.SetValue(typeof(FormsAuthentication), true, null)
Я получаю сообщение об ошибке, говорящее «Свойство набор метод не найдено "
Попытка 2: решаемые
TypeOf (FormsAuthentication) .GetField ("_ RequireSSL", BindingFlags.Static | BindingFlags.NonPublic) .SetValue (typeof (FormsAuthentication), Config.Secure);
Каковы ваши причины не желая изменить файл web.config? Одной из основных целей этого файла является настройка его для определенных сред, что в точности похоже на то, что вы пытаетесь сделать. –