7

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

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

4

3 回答 3

8

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

顺便说一句,是帮助我找出问题的网页。

此外,即使我弄清楚了我的主要问题,我仍然会对关于我的次要问题的任何评论感兴趣。

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

于 2012-07-17T08:25:13.760 回答
1

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

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

像这样:

[RequireHttps]
public ActionResult Login()
{
   return View();
}
于 2012-07-17T08:08:12.043 回答
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) 进行测试 - 请参阅在 30 秒内在 IIS 7 上测试您的 ASP.NET MVC 或 WebForms 应用程序 要求 SSL 的正确方法是通过

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

请参阅我的博客文章保护您的 ASP.NET MVC 4 应用程序和新的 AllowAnonymous 属性

于 2012-07-17T16:14:21.127 回答