我想尝试使用成员资格和角色提供程序方法。到目前为止一切都那么好,但我目前仍然坚持使用提交的重复电子邮件创建用户。
[Test]
public void can_create_user_with_given_duplic_Email()
{
MembershipCreateStatus status = new MembershipCreateStatus();
provider.CreateUser("FirstUser", _Password, _Email, null, null, true, Guid.NewGuid(), out status);
provider.CreateUser("SecondUser", _Password, _Email, null, null, true, Guid.NewGuid(), out status);
Assert.AreEqual(MembershipCreateStatus.DuplicateEmail, status);
}
正如您所见,我期待来自MembershipCreateStatus的重复电子邮件消息。
错误消息我实际上在运行此测试时遇到了
can_create_user_with_given_duplic_Email has failed:
Expected: DuplicateEmail
But was: ProviderError
提一下,provider.CreateUser()没问题。
答案 0 :(得分:6)
您可以使用requiresUniqueEmail="false"
允许重复的电子邮件。
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear/>
<add name="DefaultMembershipProvider"
type="System.Web.Providers.DefaultMembershipProvider,
System.Web.Providers, Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
connectionStringName="SqlConnection"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="MyApp"/>
</providers>
</membership>