asp.net-mvc-3 - MVC 自定义成员(member)提供商

标签 asp.net-mvc-3 membership-provider

我有一个自定义成员资格提供程序,已指定在 MVC3 项目的 web.config 文件中使用该提供程序。我假设它将用来代替内置的成员(member)资格提供程序,因为我像这样指定它的使用:

<system.web>
<membership defaultProvider="CustomMySQLMembershipProvider">
  <providers>
    <clear />
    <add
      connectionStringName="dbConn"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="false"
      requiresUniqueEmail="true"
      passwordFormat="Hashed"
      maxInvalidPasswordAttempts="25"
      minRequiredPasswordLength="6"
      minRequiredNonalphanumericCharacters="0"
      passwordAttemptWindow="10"
      passwordStrengthRegularExpression=""
      applicationName="/jp2012"
      name="CustomMySQLMembershipProvider"
      type="NameSpace.CustomMySqlMembershipProvider" />
  </providers>
</membership>
</system.web>

我是否必须在代码中执行某些操作才能使其覆盖默认的成员资格提供程序?现在我可以像这样访问它:

CustomMySqlMembershipProvider membership = 
    (CustomMySqlMembershipProvider)Membership.Providers["CustomMySQLMembershipProvider"];

有没有一种方法可以使用 web.config 文件自动覆盖它,这样我就不必对我的实现名称进行硬编码?更像这样:

MembershipProvider membership = new MembershipProvider();

有什么想法吗?如果您需要更多信息,请告诉我。

最佳答案

您的成员(member)提供商是您的情况的默认提供商。除非您的提供程序中有其他功能,否则您不需要显式转换该提供程序。

例如,当您调用 Membership.GetUser() 时,它将调用您的成员资格证明者的 GetUser(...) 方法。

关于asp.net-mvc-3 - MVC 自定义成员(member)提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8708413/

相关文章:

asp.net-mvc-3 - .NET MVC 3 以编程方式设置布局

asp.net-mvc - EditorFor an int 选择字符串模板

asp.net-mvc - Asp.Net - MVC - System.Collections.Generic.IEnumerable

asp.net-mvc - 如何在asp.net mvc4应用程序中向管理员显示注册用户列表

c# - SqlMembershipProvider : use my own database as user store database

asp.net 成员(member)提供程序通过 UserId 获取用户名

c# - MVC - 如何在 Html.ActionLink 中动态设置@class

sql - 从数字文本框中删除默认 0

asp.net-mvc - asp.net mvc 和自定义成员资格和角色提供程序

c# - ASP.NET 成员资格 - 从成员资格表中检索密码和 PasswordSalt - 哈希用户 ID