批准用户umbraco会员制

时间:2013-07-10 10:47:47

标签: asp.net asp.net-membership umbraco

您好我正在使用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";
}
}

控制是从这个条件返回到else条件“if(!thisUser.IsApproved)”

并且如果我反转它进入的条件,如果阻止并执行所有命令而没有错误但仍未将用户标记为已批准

请帮帮我

Refrence:Authenticating new members before activating

1 个答案:

答案 0 :(得分:0)

我也有批准的问题。

现在我只在我的代码中使用它:

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

您可能还需要为您的会员类型添加属性,例如。 isApproved然后将其添加到您的提供商的web.config in profile>属性部分:

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

然后扩展ProfileBase并添加Approved属性。 在成员资格的web.config中&gt; provider部分将此属性添加到您的提供者密钥,例如:

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

我不记得肯定,但我认为没有它它就行不通。

我希望这有用。