В основном приложение, над которым я работаю, имеет набор параметров, которые все управляются из файла конфигурации xml, который содержит конфигурации для каждой машины, на которой выполняется приложение (live и dev). Проблема в том, что я хочу иметь возможность контролировать поле requiressl для проверки подлинности на основе форм, чтобы в файле конфигурации я мог указать этот флаг.
Это должно привести к тому, что флаг requiressl будет иметь значение true в реальной среде, а также принудительно установить ssl и создать защищенный файл cookie авторизации. Для среды разработки я не хочу применять ssl на всех машинах разработки.
Я не хочу манипулировать файлом web.config для этого. Я хотел бы, чтобы код моего приложения читался в конфигурации xml и устанавливал их соответствующим образом.
Я попытался с помощью отражателя перейти в класс аутентификации с закрытыми формами и обнаружил, что свойство requiressl имеет только метод get, но не метод set.
Я также пытался реализовать класс configauthenticationconfiguration, но безрезультатно. - Я не уверен, что делаю это правильно.
Любая помощь в поиске возможного решения этой проблемы будет принята с благодарностью.
С уважением,
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);