在ASP.NET MVC 1.0中切换HTTP和HTTPS

goo*_*oon 8 asp.net-mvc ssl

我正在使用MVC 1.0并创建了一个"RequireSSLAttribute"(类似于ASP.NET MVC 1.0 Futures中的那个但忽略了本地计算机的SSL指令).我想通过SSL启用注册和登录页面来保护正在发送的密码.但是,我希望网站的其余部分不是SSL.

通过将[RequireSSL]属性添加到我的控制器的注册和登录方法,我能够成功地使应用程序通过HTTPS重定向到相应的页面.但是,注册或登录后的所有页面都将继续使用SSL.

有没有办法让应用程序切换回HTTP而不必创建一个"RequireNonSslAttribute",我必须添加到所有其他控制器方法?

谢谢.

Bee*_*eep 1

如果您只是将其添加到登录后重定向到的控制器操作中怎么办?或者在您的基本控制器中添加重定向。例如,我们在 OnActionExecuting 基类中执行类似的操作:

        if (req.IsSecureConnection && 
            filterContext.RouteData.Values["controller"]
                         .ToString().ToLower() != "home")
        {
            string url = req.Url.ToString().ToLower().Replace("http:", "https:");
            res.Redirect(url);
        }
Run Code Online (Sandbox Code Playgroud)

这是我们完成基本相同事情的最快方法(我们的家庭控制器具有登录类型操作)。