我正在尝试使用成员资格和角色提供者方法。到目前为止一切顺利,但我目前停留在使用提交的重复电子邮件创建用户。
[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() 就可以正常工作。
最佳答案
您可以使用 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>
关于c# - 在创建用户时测试 ASP.NET 成员资格提供程序重复电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10929118/