我已经在VS2013中启动了一个新的MVC 5应用程序(向导中的Authentication = Individual User Accounts)。

我正在查看我的web.config文件,它说:

    <authentication mode="None" />


但是,我可以清楚地创建一个帐户并登录到我的网站。因此,这有点神秘。我已经读到,如果我使用表单身份验证,则需要将cookie标记为仅SSL,以确保我的网站安全(昨天才使SSL正常工作)。

如果我的身份验证模式设置为“无”,是否有类似的步骤?

因为可以清楚地对我的网站进行身份验证,所以“无”在这种情况下真正意味着什么?

如果这有所作为,我将托管在Azure上,但我认为没有影响。

最佳答案

MVC5不再使用表单身份验证。它在asp.net身份框架上使用OWIN中间件来处理身份验证内容。您将能够在App_Start文件夹中的Startup.Auth.cs文件上看到与身份验证相关的配置。

<authentication mode="None" />


当您使用MVC5个人用户帐户时,身份验证模式设置为“无”(不是其他任何旧的/表单身份验证)。这意味着旧的web.config身份验证配置在带有asp.net身份框架的MVC5上不再可用。

如果您使用MVC5 Windows身份验证,则身份验证模式将为Windows

<authentication mode="Windows" />


无需担心在Azure上托管,因为我们已经在Azure上托管并管理了许多基于mvc5 Cookie的身份验证应用程序,而没有任何问题。

您还将注意到,web.config上还有另一个配置,如下所示。

<modules>
  <remove name="FormsAuthentication" />
</modules>


这是用于删除使用MVC5个人用户帐户身份验证材料时不再需要的HTTP模块。

09-26 09:41