它在 web.config 中连接。如果您使用 Internet 模板创建它,您应该在 web.config 中有一个条目,如下所示。
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
您需要将成员资格条目更改为以下内容:
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="MyAssembly.MyNamespace.MySimpleMembershipProvider, MyAssembly" />
</providers>
</membership>
但是创建您自己的从 SimpleMembershipProvider 继承的提供程序可能不是实现目标的最佳方式。SimpleMembership 易于定制,无需修改提供程序,如本文所示。您还可以使用WebSecurity.InitializeDatabaseConnection 方法指定将电子邮件用于身份。我不确定覆盖 RequiresUniqueEmail 会给你想要的结果。查看这篇关于将 SimpleMembership 与 MVC 解耦的文章。如果您采用这种方法,您可以使用 EF 中的 fluent API 来确保电子邮件是唯一的。