我需要允许用户通过我的 asp.net MVC 应用程序中的表单更改密码。我的第一个想法是用 RequireHttps 属性来修饰 ChangePassword 操作。
但是,在属性启动并返回“请求的资源只能通过 SSL 访问”之前,我仍然必须发送未加密的密码。这违背了目的,不是吗?
我确信我只是感到困惑,而且 RequireHttps 很有用;我想知道是否有办法使用 RequireHttps 来实现我的目的。或者,我想知道任何其他方法来实现它。
更新:
由于下面的答案,我现在有了一些选择 - 我可以使用 https 在 iframe 中加载密码输入,这意味着其中的任何帖子都将被加密。否则,我可以在构建帖子 url 的代码中将协议(protocol)设置为 https:
var url = '@Url.Action("changePassword", "Security", new { area = "" }, "https")'
我不确定哪个更好,但我会尝试第二个 - 欢迎任何评论。
最佳答案
您的应用程序无法控制是否启用 SSL。这仅取决于 Web 服务器配置。您唯一能做的就是确保您的应用程序不信任未在网络上加密的数据。 RequireHttps 就是这么做的。用此属性修饰的操作永远不会处理以纯文本发送的数据。
关于asp.net-mvc - MVC RequireHttps 属性毫无值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143262/