Могу ли я определить, включен ли протокол SSL / https для веб-сайта ASP.NET из кода сайта? - PullRequest
2 голосов
/ 16 ноября 2010

Я работаю над CMS, которая может работать с включенным https или без него на веб-сервере. Я хотел бы иметь возможность определять, включен ли https или нет, чтобы я мог действовать соответствующим образом (например, отображать некоторые параметры, связанные с https, администратору и перенаправлять на https для входов администратора).

Я не ищу Request.IsSecureConnection, потому что он говорит мне только, если текущий запрос через https. Я хочу что-то, что скажет мне, включают ли текущие привязки для сайта в IIS привязку для https в том же домене, что и текущий запрос. Так, например, даже если текущий запрос для http://example.com/ и, следовательно, не является безопасным, я хочу знать, будет ли работать https://example.com/, чтобы я мог (например) перенаправить пользователя на него, если они войдут в систему как администратор.

Мне не повезло, что я искал что-то в System.Web.Configuration, которая расскажет мне о привязках текущего сайта.

Мой текущий обходной путь - просто потребовать, чтобы администратор установил appSetting в web.config, если https включен, но я бы предпочел, чтобы я мог сделать это автоматически. Необходимость установить одну и ту же вещь дважды - один раз в IIS и один раз в web.config - сбивает с толку.

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

В зависимости от версии IIS вы можете использовать управляемый код .net для выполнения административных задач в IIS7.Это пример запроса сайта о его привязках, чтобы узнать, включен ли https

http://msdn.microsoft.com/en-us/library/microsoft.web.administration.bindingcollection(v=VS.90).aspx

1 голос
/ 16 ноября 2010

Самый простой способ - сделать запрос https на сайт с сайта, и, если это удастся, вы знаете, что https поддерживается. Кэшируйте это в статической переменной, чтобы он вызывался только один раз за вызов приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...