asp.net mvc 3 - “SSL Enabled”的项目属性中没有选项

时间:2012-07-17 07:37:27

标签: asp.net-mvc asp.net-mvc-3 visual-studio-2010 ssl security

我正在关注Pluralsight ASP.NET MVC 3 tutorial,模块7 - 安全性(顺便说一下,这是一个很棒的教程)。在授权部分的6:24标记处,它显示了如何将SSL Enabled的项目属性设置为true。我的问题是,当我进入项目属性时,我没有那个选项。我只看到Always Start When DebuggingProject FileProject Folder。有谁知道为什么我没有SSL Enabled的选项,我怎么能让它出现,或者我可以以不同的方式获得相同的结果?我正在使用Visual Studio 2010 SP1Rel。

在其他阅读中,我在requireSSL="true"标记下的Web.config文件中看到了有关设置authentication的信息。这与在项目属性下设置SSL Enabled = true的做法相同吗?如果没有,任何人都可以简单解释一下这个差异,还是指出一篇好文章?感谢。

3 个答案:

答案 0 :(得分:7)

我刚才发现,如果在开发环境中使用IIS Express,则此选项可用,但如果使用我的项目正在使用的VS Development Server则不行。我通过右键单击Project Explorer窗口中的项目,然后选择“为IIS配置项目”或类似的东西解决了我的问题。现在SSL Enabled的选项显示在属性中。

顺便说一下,this是帮我弄清问题的网页。

另外,即使我想出了我的主要问题,我仍然对有关我的第二个问题的任何评论感兴趣。

[编辑]设置此项的快捷方式是在“解决方案资源管理器”中右键单击项目名称,然后单击属性...在“属性”窗口中,单击“Web”选项卡,然后在“服务器”下更改“IIS Express”的下拉框。

答案 1 :(得分:1)

使用forms配置元素的requireSSL属性在ASP.NET应用程序的配置文件中设置RequireSSL属性。

鉴于您使用的是asp.net mvc,您可以将操作标记为安全

像这样:

[RequireHttps]
public ActionResult Login()
{
   return View();
}

答案 2 :(得分:1)

查看我的博客http://blogs.msdn.com/b/rickandy/archive/2011/04/22/better-faster-easier-ssl-testing-for-asp-net-mvc-amp-webforms.aspx
我建议使用IIS 7.5(localserver)进行测试 - 请参阅Test your ASP.NET MVC or WebForms Application on IIS 7 in 30 seconds 要求SSL的正确方法是通过

filters.Add(new System.Web.Mvc.RequireHttpsAttribute());

请参阅我的博文Securing your ASP.NET MVC 4 App and the new AllowAnonymous Attribute