2013-02-06 29 views
0

我已經能夠呼叫Membership.CreateUser,它在我的數據庫中創建了必要的Membership表,但它沒有將新創建的用戶添加到Users表和MembershipCreateStatus = InvalidAnswer - 不知道這是什麼意思。在ASP.NET MVC4中使用System.Web.Providers創建一個新用戶

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 =成功' – 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 
} 
相關問題