0

Ich habe Code zum Erstellen von DNN-Benutzer programmgesteuert durch den folgenden Code schreiben, aber es fügt Benutzername wie diesen [email protected]. Es sieht so aus, als würde man GUID + EmailAddress zusammenführen. Aber es sollte li_ + FirstName + LastName als ich dynamisch mit dem folgenden Code erstellen.GUID Einfügen als Benutzername, während Benutzer DNN programmgesteuert erstellen

Ich schrieb Benutzername Protokoll nach & vor der Zeile unten. Es scheint sehr merkwürdig. Unten ist meine Ausgabe.

'Response.Write("objUserInfo Before: " & objUserInfo.Username) 
objUserCreateStatus = objMembershipProvider.CreateUser(objUserInfo) 
'Response.Write("objUserInfo: " & objUserInfo.Username) 

Ausgabe von Benutzername:

Bevor: li_Andrea Simon

Nach: [email protected]

My-Code :

Try 
        If MySettings("LinkedinUserNamePrefix") <> "" Then 
         fsUsername = MySettings("LinkedinUserNamePrefix") & objPerson.Firstname & " " & objPerson.Lastname 
        Else 
         fsUsername = objPerson.Firstname & " " & objPerson.Lastname 
        End If 
       Catch 
       End Try 

     'Register user to the site 
     Dim objUserInfo As New DotNetNuke.Entities.Users.UserInfo 
     objUserInfo.PortalID = Me.PortalId 
     objUserInfo.Username = fsUsername 
     objUserInfo.FirstName = fName 
     objUserInfo.LastName = lName 
     objUserInfo.Email = EmailAdd 
     objUserInfo.DisplayName = fsUsername 
     objUserInfo.Membership.Username = fsUsername 
     objUserInfo.Membership.Email = EmailAdd 
     objUserInfo.Membership.Password = fsUsername 

     ' User Profile 
     objUserInfo.Profile.PreferredLocale = PortalSettings.DefaultLanguage 
     objUserInfo.Profile.FirstName = fName 
     objUserInfo.Profile.LastName = lName 

     'Set Membership 
     objUserInfo.Membership.Approved = True 

     'Bind membership to user 
     objUserInfo.IsSuperUser = False 

     Dim objUserCreateStatus As UserCreateStatus = UserCreateStatus.AddUser 
     Dim objMembershipProvider As DotNetNuke.Security.Membership.MembershipProvider = DotNetNuke.Security.Membership.MembershipProvider.Instance() 
     'Response.Write("objUserInfo Before: " & objUserInfo.Username) 
     objUserCreateStatus = objMembershipProvider.CreateUser(objUserInfo) 
     'Response.Write("objUserInfo: " & objUserInfo.Username) 

Was ist das Problem in der CreateUser-Methode? Ist es ein Problem in der DNN-Bibliothek?

Ich benutze DNN 07.04.00.

+0

Kommen Sie zufällig in einen Benutzernamen, der bereits vergeben ist und das System etwas für Sie generiert? –

+0

Ich habe viele verschiedene Benutzerdetails ausprobiert, aber für jeden Benutzer, oben Code eingefügt Benutzername wie 'GUID + Email'. – Keval

+0

Haben Sie dieses Problem jemals behoben? Ich habe genau das gleiche Problem im Moment ... –

Antwort

0

Deaktivieren Sie die Option "E-Mail-Adresse als Benutzername verwenden" unter "Admin-Einstellungen", falls aktiviert.

+0

Ich habe es bereits mit checked/un-check ausprobiert, aber fügen Sie noch Benutzernamen wie '0b279945-8d3b-48cf-ba90-4084fb2174bc-contrac @ outlook.com' – Keval

+0

Versuchen Sie, Anmeldung mit Standard-DNN-Register-Modul und sehen, ob der Benutzername immer noch in derselben Format, wenn nicht, dann ist das Problem in Ihrem Code. – erw13n

Verwandte Themen