Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7019191
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T23:09:03+00:00 2026-05-27T23:09:03+00:00

I have a site that needs to be secured with SSL. How can I

  • 0

I have a site that needs to be secured with SSL. How can I set up a route or IIS configuration that will automatically send any request received on the non-SSL protocol over to the SSL protocol? Is this something that can be handled as a routing rule, or would it be best to use the RequireHttps attribute in the primary controller only on the methods rather than on the controller itself and detect the protocol in the Index() method?

As a note: I read this question that makes use of UrlRewriting and IIS7’s Application Request Routing, but I am stuck with IIS6 and UrlRewriting is not an option for me.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T23:09:04+00:00Added an answer on May 27, 2026 at 11:09 pm

    This is what we use. Would love to hear if it can be improved.

    [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = false)]
    public class EnforceHttpsAttribute : RequireHttpsAttribute
    {
        private static bool AuthorizeCore(HttpContextBase httpContext)
        {
            return httpContext.Request.IsSecureConnection;
        }
    
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (!AuthorizeCore(filterContext.HttpContext))
            {
                HandleNonHttpsRequest(filterContext);
            }
            else
            {
                var cache = filterContext.HttpContext.Response.Cache;
                cache.SetProxyMaxAge(new TimeSpan(0L));
                cache.AddValidationCallback(CacheValidateHandler, null);
            }
        }
    
        // ReSharper disable RedundantAssignment
        private static void CacheValidateHandler(HttpContext context, object data, ref HttpValidationStatus validationStatus)
        // ReSharper restore RedundantAssignment
        {
            validationStatus = OnCacheAuthorization(new HttpContextWrapper(context));
        }
    
        private static HttpValidationStatus OnCacheAuthorization(HttpContextBase httpContext)
        {
            return !httpContext.Request.IsSecureConnection
                ? HttpValidationStatus.IgnoreThisRequest
                : HttpValidationStatus.Valid;
        }
    }
    

    Response to comment 1

    Good question, I’m not sure. HandleNonHttpsRequest comes from the base RequireHttpsAttribute. I just did an inspection in fiddler2, and there was only 1 request sent over http. However the response came back over https.

    I just realized we use the above to make RequireHttps work with the output cache. You might be better off just using the RequireHttps attribute.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We have a site that needs to (as part of our process) generate a
I have one site that is displaying html content that needs to be displayed
I'm going to have a single site that needs to be themed a number
I have a site written in Delphi that needs to get data from a
I have a win form that creates a site in IIS7. One function needs
I have a site that is using x509 client certificates (2 way SSL) to
I have a TYPO3 Web site that needs to have its home page (and
I have a client that needs SSL to protect online donations, but I have
I have a load balanced dev site that I'm working out bugs for SSL
I have items in a list in a SharePoint 2003 site that I need

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.