我正在寻找一种在 DotNetNuke 中创建自己的用户注册页面的方法。我不想替换默认的,我只想将 dnn 注册放在我正在构建的模块中。任何有关如何解决此问题的见解都会很棒,我想使用 DotNetNuke 中包含的当前会员提供程序。
1941 次
2 回答
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);
}
}
于 2010-02-12T16:14:15.690 回答
0
你错过了NewUser.PortalId. 这可以设置为NewUser.PortalId = PortalId;
于 2010-11-15T09:52:57.257 回答