asp.net-mvc - 在 MVC4 中设置 SimpleMembership

标签 asp.net-mvc asp.net-mvc-4

我正在读到,在 MVC4 中要设置简单的成员资格,我应该执行此步骤:

在 AppSettings 中包含一行:

<add key="enableSimpleMembership" value="true" />

但是,当我查看从模板生成的示例时,它们只有:

  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

那么为什么我一直读到有必要设置enableSimpleMembership key?

最佳答案

默认情况下 SimpleMembershipProvider当您创建新的 ASP.NET MVC 4 应用程序时启用。但某些托管提供商可能会通过在更高级别的 web.config 中覆盖此设置来禁用它。

引自一篇关于SimpleMembership的文章:

If you see an error that tells you that a property must be an instance of ExtendedMembershipProvider, the site might not be configured to use the ASP.NET Web Pages membership system (SimpleMembership). This can sometimes occur if a hosting provider's server is configured differently than your local server. To fix this, add the following element to the site's Web.config file:

<appSettings>

   <add key="enableSimpleMembership" value="true" />

</appSettings>

此设置由 WebMatrix.WebData.PreApplicationStartCode 使用方法会在您的网站运行时自动执行,并将使用此设置的值来启用简单的成员(member)资格提供程序。

实际配置SimpleMembershipProvider我明确地向您推荐:

<membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" 
         type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
  </providers>
</membership> 
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
  <providers>
    <clear/>
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
  </providers>
</roleManager>

现在,再也没有困惑的余地了。成员资格和角色提供者都是显式配置的。

关于asp.net-mvc - 在 MVC4 中设置 SimpleMembership,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170726/

相关文章:

c# - 如何在 LINQ 中应用 if 条件?

c# - 在 View 中使用 LINQ

razor - MVC 4 ActionLink 字典 htmlAttributes 不起作用

javascript - 从 Knockout 可观察数组中删除表中的选定行

asp.net-mvc - 在 MVC 4 EF Code First 中创建关系时,为什么我们需要同时包含 Object 和 ObjectId?

asp.net-mvc-4 - MVC4 : how to use Tuple as model in View and DisplayFor

model-view-controller - MVC Controller 索引有时是 404?

构建时的 ASP.NET .cshtml Razor 文件转换

c# - Asp.net MVC 多选列表属性

c# - ASP.NET MVC5 基本 HTTP 身份验证和 AntiForgeryToken 异常