我正在使用标准的 .NET 会员提供程序,并认为我会看看是否有人可以对此有所了解。
调用 ValidateUser 返回 true 或 false。现在,由于该方法接受用户名和密码,因此可以推断返回结果将反映无效的用户名或密码。然而,如果我们进一步深入研究,我们会发现它也在检查 IsLockedOut 和 IsApproved。
public override bool ValidateUser (string username, string password)
{
MembershipUser user = GetUser (username, false);
/* if the user is locked out, return false immediately */
if (user.IsLockedOut)
return false;
/* if the user is not yet approved, return false */
if (!user.IsApproved)
return false;
......
在我的应用程序中,我想将 IsApproved 用于我自己的方式。简单地滚动我自己的提供者是行不通的,因为我仍然受限于 bool 结果。创建用户为我们提供了我们需要的所有信息,那么为什么不 ValidateUser 呢?我错过了什么吗?