您好我正在使用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)”
并且如果我反转它进入的条件,如果阻止并执行所有命令而没有错误但仍未将用户标记为已批准
请帮帮我
答案 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" ... />
我不记得肯定,但我认为没有它它就行不通。
我希望这有用。