2013-06-07 1 views
1

DNN 7 서비스 프레임 워크를 사용하여 사용자를 만들려고합니다. 내 사용자 정의 등록 모듈에서 작업 코드를 가져 와서 DNN webapi 기능 내에서 작동하도록 수정했습니다. 누구나 서비스 프레임 워크를 사용하여 DNN 7 사용자를 만들었습니까?

내가 코드에서 UserController.CreateUser 호출에 도착

은 내가

"\"There was an error generating the XML document.\""  

예외를받을 수 아래. 내 사용자가 그것을 aspnet_Users 테이블과 DNN 사용자 테이블에 만들지 만 DNN userportals 테이블에 만들지 않습니다. 어떤 아이디어라도 감사 할 것입니다.

private void CreateUser() 
    { 
     //Update DisplayName to conform to Format 
     UpdateDisplayName(); 

     User.Membership.Approved = PortalSettings.UserRegistration == (int)Globals.PortalRegistrationType.PublicRegistration; 
     var user = User; 

     CreateStatus = UserController.CreateUser(ref user); 
+1

실제 사용자를 생성하는 코드를 공유 할 수 있습니까? –

답변

1

마침내 문제가 발견되었습니다. 내 새 사용자의 포털 ID를 설정하지 않고 DNN은 포털에 포털 ID를 추가 할 때를 제외하고있었습니다. CreateUser 호출 전에 User.PortalId = 0이 필요했습니다. 이 중 하나를 놓쳤다 경우

UserInfo uiNewUser = new UserInfo(); 
uiNewUser.Username = "<myUsername>"; 
uiNewUser.Displayname = "<myDisplayname>"; 
uiNewUser.Email = "<myUserEmail>"; 
UserMembership newMembership = new UserMembership(uiNewUser); 
newMembership.Password = "<myUserPassword>"; 
uiNewUser.Membership = newMembership; 
uiNewUser.PortalID = <myPortalID>; 
DotNetNuke.Security.Membership.UserCreateStatus uStatus; 
uStatus = DotNetNuke.Security.Membership.MembershipProvider.Instance().CreateUser(ref uiNewUser); 
RoleInfo newRole = RoleController.Instance.GetRoleByName(uiNewUser.PortalID, "Registered Users"); 
RoleController.Instance.AddUserRole(uiNewUser.PortalID, uiNewUser.UserID, newRole.RoleID, (RoleStatus)1, false, DateTime.MinValue, DateTime.MaxValue); 

은, 사용자의 일부가 데이터베이스에서 생성되지만 :

0

나는 가능한 DNN 사용자를 만드는 데 필요한 최소 것을 시행 착오에 의해 발견 사용자가 관리자 목록에 표시되지 않거나 예외가 생성 될 수 있습니다. 나중에 다른 세부 정보를 추가 할 수 있습니다.

관련 문제