批准用户umbraco会员制



hi我正在研究Umbraco(6.1.2)会员系统我制作了登录、注册和身份验证页面注册后,用户被重定向到具有token_id 的身份验证页面

现在我想将该用户设置为批准用于此目的,我编写以下代码但是有一些错误检查它

string uname = Request.QueryString["a"];
string uguid = Request.QueryString["b"];
MembershipUser thisUser = Membership.GetUser(uname);
if (thisUser != null)
{
if (!thisUser.IsApproved)
{
MemberProfile mp = MemberProfile.GetUserProfile(uname);
if (mp != null)
{
if (mp.AuthGuid == uguid)
{
thisUser.IsApproved = true;
Membership.UpdateUser(thisUser);
lblMessage.Text = "Thank you for confirming your email address";
}
else
{
lblMessage.Text = "Error confirming your email address";
}
}
else
{
lblMessage.Text = "Error confirming your email address";
}
}
else
{
lblMessage.Text = "Email address is already confirmed";
}
}

控制是从此条件"if(!thisUser.IsApproved)"返回到其他条件

如果我反转条件,它就会进入if块并执行所有命令而没有错误,但仍然不会将用户标记为已批准的

请帮我

参考:在激活之前对新成员进行身份验证

我对approved也有问题。

现在我只在我的代码中使用这个:

MembershipUser user = Membership.GetUser(nodeIdOrUsername);
user.IsApproved = true;
Membership.UpdateUser(user);

您可能还需要将一个属性添加到您的Member类型中,例如isApproved,然后将其添加到web.config中profile>properties部分的提供程序中:

<add name="isApproved" allowAnonymous="false" provider="UmbracoMembershipProvider" type="System.Boolean"/>

然后扩展ProfileBase并添加Approved属性。在web.config的membership>provider部分中,将此属性添加到您的provider密钥中,例如:

<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" umbracoApprovePropertyTypeAlias="isApproved" umbracoLockPropertyTypeAlias="isLocked" ... />

我记不清了,但我想没有它就没用。

我希望这会有任何用处。

最新更新