Как создать страницу регистрации пользователя в DotNetNuke 4.9.2

Я ищу способ создать свою собственную страницу регистрации пользователя в DotNetNuke. Я не хочу заменять стандартный, я просто хочу поставить регистрацию dnn в модуль, который я создаю. Любое понимание того, как это сделать, было бы здорово, я бы хотел использовать текущего поставщика членства, включенного в DotNetNuke.


person James Campbell    schedule 11.02.2010    source источник


Ответы (2)


Все, что вам нужно знать, находится здесь, надеюсь, это поможет кому-то еще:

http://www.engagesoftware.com/Blog/EntryId/75/Membership-Provider-Video-Part-I.aspx

ОК, я хочу поделиться своим кодом со всеми, так как это было сложно понять, но это даст представление о том, что делать:

using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Users;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Entities.Modules.Actions;
using DotNetNuke.Security;
using DotNetNuke.Services.Exceptions;
using DotNetNuke.Services.Localization;
using DotNetNuke.Security.Membership;




namespace DotNetNuke.Modules.Promotions
{
    /// -----------------------------------------------------------------------------
    /// <summary>
    /// The ViewPromotions class displays the content
    /// </summary>
    /// <remarks>
    /// </remarks>
    /// <history>
    /// </history>
    /// -----------------------------------------------------------------------------
    partial class View : PortalModuleBase, IActionable
    {
 public void btnRegister_Click(object sender, EventArgs e)
        {
            try
            {

                UserCreateStatus userstatus = UserCreateStatus.AddUser;
                UserInfo NewUser = new UserInfo();

                NewUser.FirstName = txtFirstname.Text;
                NewUser.LastName = txtLastName.Text;
                NewUser.Username = txtUserName.Text;
                NewUser.DisplayName = txtUserName.Text;
                NewUser.Profile.City = txtCity.Text;
                NewUser.Profile.Country = "United States";
                NewUser.Email = txtEmail.Text;
                NewUser.Username = txtUserName.Text;
                NewUser.Membership.Password = txtPassword.Text;
                if (PortalSettings.UserRegistration != Convert.ToInt32(DotNetNuke.Common.Globals.PortalRegistrationType.PublicRegistration))
                {
                    NewUser.Membership.Approved = true;
                }
                {
                    NewUser.Membership.Approved = false;
                }

                UserCreateStatus userstatsus = UserController.CreateUser(ref NewUser);
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
person James Campbell    schedule 12.02.2010
comment
ваша ссылка говорит, что у вас нет прав на просмотр запрошенного файла - person Matt Phillips; 12.02.2010
comment
Это может быть не точный ответ, но он говорит мне, где мне нужно быть, и дает мне хороший обзор провайдера. Что я буду использовать, так это использовать поставщика членства в dnn и создать свою собственную страницу со ссылкой на него. Таким образом, я могу настроить регистрацию где угодно, и мне не нужно переписывать провайдера. - person James Campbell; 12.02.2010

Вам не хватает NewUser.PortalId. Это может быть установлено на NewUser.PortalId = PortalId;

person Job Vermeulen    schedule 15.11.2010
comment
Я использую только один портал в каждом развертывании, dnn достаточно медленный, но я предполагаю, что вам это понадобится в многопортальной среде. - person James Campbell; 19.11.2010