我正在关注Pluralsight ASP.NET MVC 3 tutorial,模块7 - 安全性(顺便说一下,这是一个很棒的教程)。在授权部分的6:24标记处,它显示了如何将SSL Enabled
的项目属性设置为true
。我的问题是,当我进入项目属性时,我没有那个选项。我只看到Always Start When Debugging
,Project File
和Project Folder
。有谁知道为什么我没有SSL Enabled
的选项,我怎么能让它出现,或者我可以以不同的方式获得相同的结果?我正在使用Visual Studio 2010 SP1Rel。
在其他阅读中,我在requireSSL="true"
标记下的Web.config文件中看到了有关设置authentication
的信息。这与在项目属性下设置SSL Enabled = true
的做法相同吗?如果没有,任何人都可以简单解释一下这个差异,还是指出一篇好文章?感谢。
答案 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