【问题标题】:Changing Membership.ValidateUser() and other things in ASP.NET MVC 3在 ASP.NET MVC 3 中更改 Membership.ValidateUser() 和其他内容
【发布时间】:2011-06-30 06:39:31
【问题描述】:

有没有办法改变 MVC 3 中的 ValidateUser 方法? 例如..需要一个额外的参数,如识别号或类似的东西? 我觉得这东西很静态...

哦,有没有办法使用现有的 mdf+ldf SQL 数据库(例如 MySQL DB)以外的其他数据库?

编辑: 我仍然无法设置这些内容。

在我的 BOMembershipProvider 课程中

使用系统; 使用 System.Collections.Generic; 使用 System.Linq; 使用 System.Web; 使用 System.Web.Security; 命名空间 MVCTests { 公共类 BOMembershipProvider : MembershipProvider { 公共覆盖字符串 ApplicationName

等等。 它位于我的 App_Data 文件夹中。 我的 Web.config 如下所示:

<membership defaultProvider="BOMembershipProvider">
      <providers>
          <clear/>
          <add name="BOMembershipProvider" type="BOMembershipProvider"
               connectionStringName="ApplicationServices"
               enablePasswordRetrieval="false"
               enablePasswordReset="true"
               requiresQuestionAndAnswer="false"
               requiresUniqueEmail="false"
               maxInvalidPasswordAttempts="5"
               minRequiredPasswordLength="6"
               minRequiredNonalphanumericCharacters="0"
               passwordAttemptWindow="10"
               applicationName="/" />
      </providers>

它仍然给我找不到类型的错误。任何提示,解决方案,...?

哦,我也在 Web.config 中使用 MVCTests.BOMembershipProvider 进行了尝试,但没有结果:(

【问题讨论】:

  • 您在 Web.Config 中指定类型的位置我认为您需要包含完整的命名空间。所以 type="MVCTests.BOMembershipProvider" 见这个链接:geekswithblogs.net/AzamSharp/archive/2007/12/30/118071.aspx
  • 并且您的测试项目还需要引用您创建 BOMembershipProvider 的 MVC 项目

标签: asp.net asp.net-mvc-3


【解决方案1】:

您可以编写自定义成员资格提供程序来更改 ValidateUser 的行为。这也将使您能够使用不同的数据库提供程序。

请参阅 http://msdn.microsoft.com/en-us/library/aa479048.aspx 或 google asp.net 自定义会员服务提供商。

这个使用实体框架 codefirst 的自定义成员资格提供程序示例帮助我入门:

http://codefirstmembership.codeplex.com/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多