始终需要Https到特定路线

时间:2011-08-12 21:31:45

标签: asp.net-mvc-3 routing

我有使用SSL的MVC3应用程序。我想要特定的页面URL应该总是添加Https。有人能告诉我怎么做。以下是全球档案中的路线。

 routes.MapRoute("root22",
                "paybill",
                new { controller = "Home", action = "PayBill" });

如果我的网址前面有https而不是网页中的所有路径都使用https或不需要,还有一件事吗?

2 个答案:

答案 0 :(得分:5)

您不需要弄乱路由来完成此任务。只需在控制器/操作上使用[RequireHttps]属性。

[RequireHttps]
public ViewResult YourAction()

如果可以,它将重定向到https。您的外发链接不必使用https,但在加载javascript,css,图像等时,否则用户可能会收到混合内容安全警告。

答案 1 :(得分:0)

如果您希望在使用该特定操作重定向后将整个网站设置为https,则上面的属性可以正常工作。

但是你想要只保护一个页面而不是整个网站,只需使用下面的代码即可。

http://www.codehosting.net/blog/BlogEngine/post/More-fiddling-with-MVC3-and-https.aspx