** WebSecurity.CreateUserAndAccount()**如何检查用户名是否已存在于数据库中?

时间:2014-07-16 15:41:16

标签: c# asp.net-mvc asp.net-mvc-4 webmatrix-2

我正在使用mvc4默认的互联网项目,该项目使用上述方法创建用户帐户。这个方法对我来说很好,但是我无法理解它如何检查用户名是否已经存在于默认数据库中。< / p>

我对MVC 4比较新,请帮助我。

1 个答案:

答案 0 :(得分:2)

WebSecurity类是SimpleMembershipProvider类的包装器。 WebSecurity.CreateUserAndAccount间接调用SimpleMembershipProvider.CreateAccount,其中包含以下代码:

// Step 2: Check if the user exists in the Membership table: Error if yes.
var result = db.QuerySingle(@"SELECT COUNT(*) FROM [" + MembershipTableName + "] WHERE UserId = @0", uid);
if (result[0] > 0)
{
    throw new MembershipCreateUserException(MembershipCreateStatus.DuplicateUserName);
}

您可以在此处查看WebSecurity的源代码:http://aspnetwebstack.codeplex.com/SourceControl/latest#src/WebMatrix.WebData/WebSecurity.cs