Pit*_*a.O 7 cloud asp.net-mvc https azure
到目前为止,我的https部署通常涉及使用https对整个站点的简单锁定,并在Web服务器上提供http-to-https重定向.
我现在计划在一个包含http和https页面的单个ASP.NET MVC站点(在云上).因此,该站点将有2个概念(非物理)区域,提供安全和非安全请求.
在配置方面,我已经为80和443设置了输入端口,并且该站点接受这两个请求.
有什么方法可以将协议转换为https,以进行属于安全区域的操作的任何调用吗?例如,动作过滤器可以执行的操作.
非常感谢.
编辑: 请注意,这样做的全部意图是避免在表单操作属性上使用绝对URL,因为可移植性问题以及用户将不会在浏览器上看到https://保证可视提示.
P
您可能需要查看Microsoft 提供的MVC期货程序集,可在此处下载.
它有一个FilterAttribute,RequireSslFilterAttribute,允许您在控制器中轻松标记需要SSL的Action方法 - 例如
[RequireSsl(Redirect=true)]
public ActionResult LogOn()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
可选的重定向参数将导致请求被重定向到相同的URL,但如果需要,则通过https而不是http.
警告:正如丹尼尔指出的那样,当你点击这个动作时,如果数据被发布到页面的非安全版本可能已经太晚了 - 它已经可能已经被破坏了,所以你仍然需要谨慎使用它并确保所有敏感数据都通过https发送.(我刚刚注意到你对丹尼尔的评论,你明白这一点,我会在这里留下警告给其他任何偶然发现这个的人!)
编辑:正如Luke所指出的,在MVC2中,此属性现在是核心框架的一部分,并重命名为[RequireHttps]
归档时间: |
|
查看次数: |
2403 次 |
最近记录: |