2013-02-06 7 views
0

이 데이터베이스에 필요한 회원 테이블을 만들었지 만 새로 생성 된 사용자는 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

당신이 파종되어 사용자와 역할에 대한 작동이가

의견

에서 enablePasswordRetrieval="false"web.config이 지정했다고 가정? – DON

+0

상태가 InvalidAnswer라는 것을 알았습니다. 암호 질문과 답변이 필요하도록 구성했기 때문에 그럴 것 같네요? – Neeta

+0

사용자를 성공적으로 생성하면'MembershipCreateStatus = Success'가 할당됩니다. – DON

답변

0

여기에 대한 답은 우리의 논의를 기반으로합니다.

나는 그런 다음이 코드가

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 
}