2013-02-06 2 views
0

Я смог позвонить Membership.CreateUser, который создал необходимые таблицы членства в моей базе данных, но он не добавил вновь созданного пользователя в Users стол и MembershipCreateStatus = InvalidAnswer - не знаю, что это значит.Создание нового пользователя с использованием System.Web.Providers в ASP.NET MVC4

public void Register(Register register) 
     { 
      var member = new System.Web.Providers.DefaultMembershipProvider(); 
      object guid = Guid.NewGuid(); 
      MembershipCreateStatus status; 

      member.CreateUser(register.Username, register.Password, "", "", "", true, guid, out status); 

     } 

Конфигурация:

<profile defaultProvider="DefaultProfileProvider"> 
     <providers> 
     <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
     </providers> 
    </profile> 
    <membership defaultProvider="DefaultMembershipProvider"> 
     <providers> 
     <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
     </providers> 
    </membership> 
    <roleManager defaultProvider="DefaultRoleProvider"> 
     <providers> 
     <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
     </providers> 
    </roleManager> 
+0

вы высева пользователей и ролей? – DON

+0

Только что осознал статус InvalidAnswer. Я предполагаю, что это потому, что я настроил его так, чтобы ему нужен вопрос с паролем и ответ? – Neeta

+0

при создании пользователя успешно назначит 'MembershipCreateStatus = Success' – DON

ответ

0

Ответ здесь, основаны на нашей дискуссии.

Я предполагаю, что вы это указано это в web.config, как enablePasswordRetrieval="false" от вашего комментария

Затем этот код будет работать для вас

try 
{ 
    object guid = Guid.NewGuid(); 
    MembershipCreateStatus status; 
    MemberShipUser member = Membership.CreateUser(register.Username, register.Password, "an email address here", null, null, true, guid, out status); 
} 
catch(MembershipCreateUserException ex) 
{ 
    //handle exceptions 
} 
Смежные вопросы