Вставка GUID в качестве имени пользователя при программном создании пользователя DNN

У меня есть программный код для создания пользователя DNN с помощью следующего кода, но он вставляет имя пользователя, подобное этому [email protected]. Это похоже на слияние GUID + EmailAddress. Но это должно быть li_ + FirstName + LastName, поскольку я создаю динамически, используя следующий код.

Я написал журнал имени пользователя после и до строки ниже. Это кажется очень странным. Ниже мой вывод.

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

Вывод имени пользователя:

До: li_Andrea Simon

После: [email protected]

Мой код:

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)

В чем проблема в методе CreateUser. Это проблема в библиотеке DNN.

Я использую DNN 07.04.00.


person Keval Gangani    schedule 30.03.2016    source источник
comment
Вы случайно не столкнулись с уже занятым именем пользователя, а система что-то генерирует для вас?   -  person Chris Hammond    schedule 30.03.2016
comment
Я пробовал много разных сведений о пользователе, но для каждого пользователя вышеприведенный код вставлял имя пользователя, например GUID + Email.   -  person Keval Gangani    schedule 30.03.2016
comment
Вы когда-нибудь решали эту проблему? У меня сейчас точно такая же проблема...   -  person Thijs ter Haar    schedule 20.06.2017
comment
Да. Это была проблема в рамках DNN. Используйте более новую версию DNN и повторите попытку.   -  person Keval Gangani    schedule 20.06.2017


Ответы (1)


Попробуйте снять флажок «Использовать адрес электронной почты в качестве имени пользователя» в настройках администратора, если он установлен.

person erw13n    schedule 10.04.2016
comment
Я уже пробовал это с отмеченным/не проверенным, но все еще вставляю имя пользователя, например [email protected] - person Keval Gangani; 11.04.2016
comment
Попробуйте зарегистрироваться, используя модуль регистрации DNN по умолчанию, и посмотрите, сохраняется ли имя пользователя в том же формате, если нет, то проблема в вашем коде. - person erw13n; 11.04.2016