requiressl формы аутентификации - PullRequest
2 голосов
/ 13 декабря 2010

В основном приложение, над которым я работаю, имеет набор параметров, которые все управляются из файла конфигурации 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);

1 Ответ

1 голос
/ 14 декабря 2010

Хотя это и не рекомендуется, Вы можете использовать отражение, чтобы изменить приватное поле (резервное хранилище для свойства).

Попробуйте здесь

...