【发布时间】:2010-06-19 18:08:50
【问题描述】:
我遇到了一个问题,应该是 ASP.NET MVC 2 中的简单登录表单。基本上我的表单看起来有点像这样:
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
我在 LogOn Action 方法上有一个 RequiresHTTPS 过滤器,但是当它执行时我收到以下消息
请求的资源只能是 通过 SSL 访问
此时唯一可行的解决方案是传入一个额外的操作 htmlattribute,如下所示:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
虽然这可行,但我想知道 a) 为什么我首先会看到这个问题,以及 b) 是否有更直接的方式从 http 页面发布到 https?
[编辑]
我应该声明登录下拉菜单将在许多公共页面上可用。我不希望我的所有页面都是 HTTPS。例如,我的希望页面——任何人都可以看到——不应该是基于 HTTPS 的。本质上,我需要在我的表单中指定协议,但不知道该怎么做,或者是否可能。
如果有任何意见/建议,我将不胜感激。 提前致谢
日本
【问题讨论】:
标签: c# asp.net-mvc ssl