在ASP.NET MVC 3中更改Membership.ValidateUser()和其他内容

时间:2011-06-30 06:39:32

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

有没有办法在MVC 3中更改ValidateUser方法? 例如..需要一个额外的参数,如识别号码或类似的东西? 我觉得这些东西很不稳定......

哦,有没有办法使用另一个数据库而不是现有的mdf + ldf SQL数据库(例如MySQL数据库)?

修改: 我仍然无法设置这些东西。

在我的BOMembershipProvider课程中,我有

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;

namespace MVCTests
{
    public class BOMembershipProvider : MembershipProvider
    {
        public override string 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,没有结果:(

1 个答案:

答案 0 :(得分:4)

您可以编写自定义成员资格提供程序来更改ValidateUser的行为。这还可以使您使用其他数据库提供程序。

请参阅http://msdn.microsoft.com/en-us/library/aa479048.aspx或google asp.net自定义成员资格提供程序。

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

http://codefirstmembership.codeplex.com/