Membership.IsApproved值未保存

时间:2012-01-18 15:15:54

标签: c# asp.net-mvc-3 forms-authentication

我有这段代码:

MembershipUser user = Membership.GetUser(model.UserName);
if (user != null) 
    user.IsApproved = false; 

上面对user.IsApproved的调用确实将IsApproved标记设置为false,但是当我随后执行此操作时:

MembershipUser user = Membership.GetUser(model.UserName);

并检查IsApproved标志,其值为true

怎么了?

2 个答案:

答案 0 :(得分:15)

您需要保存更改,否则您只需将其设置为false以用于当前对象。您可以使用Membership.UpdateUserhttp://msdn.microsoft.com/en-us/library/system.web.security.membership.updateuser.aspx)。

MembershipUser user = Membership.GetUser(model.UserName);
if (user != null){
    user.IsApproved = false;
    Membership.UpdateUser(user);
}

答案 1 :(得分:5)

查看msdn正在执行user.IsApproved = false不会更新数据存储。

如果您希望保留更改权限,则需要致电UpdateUser(user)