Отключить HTTP-доступ через web.config - PullRequest
2 голосов
/ 02 мая 2011

Я хочу, чтобы мои пользователи обращались к определенному виртуальному каталогу asp.net только через SSL. Есть ли в web.config опция, которая позволяет мне указать это?

1 Ответ

2 голосов
/ 02 мая 2011

Вы можете сделать это в IIS7. Зайдите в настройки SSL для вашего приложения, вы увидите флажок с опцией «Требовать SSL», установите флажок, и ваша работа будет выполнена. Теперь к вашему веб-сайту можно получить доступ только с https, а не с http. Помните, что вам нужно иметь сертификат SSL, иначе браузеры будут показывать некоторые предупреждающие сообщения для вашего сайта. И да .. Я не думаю, что вы можете достичь этого с помощью web.config.

Редактировать: пример кода

Полная настройка возможна с использованием файла Global.asax. Вы можете добавить определенные условия и применить https или http. Ниже приведен пример кода, который показывает, что если страница - это вход / выход и если соединение не защищено, перенаправьте с http на https, а также мне может не потребоваться https для страницы контактов.

 protected void Application_BeginRequest(Object sender, EventArgs e)
    {           
            if ((Request.Path.EndsWith("login.aspx") || Request.Path.EndsWith("checkout.aspx") ) && !Request.IsSecureConnection)
            {
                Response.Redirect(Request.Url.AbsoluteUri.Replace("http:", "https:"));
            }
            else if (Request.IsSecureConnection && !Request.Path.EndsWith("contact.aspx"))              
            {
                Response.Redirect(Request.Url.AbsoluteUri.Replace("https:", "http:"));
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...