Come work for Umbraco - The Umbraco HQ are hiring Project managers, .NET developers and DevOps people!
I'm working with the default asp.net membershipprovider. Now, by default, that requires that all members registere have all unique email-addresses.
However, I'd like to override that because I do not need emails to be unique.
Is there any way I can tell the default controls to skip testing for emailaddress or is there any example code out there that allows the creation of users without checking for existing emails?
Thanks in advance,
Hi Peter, here is what I have done in the past that has seemed to work fine. For member registration, hook into the following event:
protected void CreateUserWizard1_CreatingUser(object sender, EventArgs e)
Literal errorMsg = (Literal)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ErrorMsg");
TextBox email = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName");
Member m = Member.GetMemberFromEmail(email.Text);
errorMsg.Text = "The email you specified is already taken. Please choose another email.";
And, OR, you could alternatively create your own provider and override the method that way. The above keeps your error handling to the code behind without overriding the default Umbraco Membership provider.
So, if you were to entend the UmbracoMembershipProvider you'd have something like this:
public class CustomMembershipProvider : umbraco.providers.members.UmbracoMembershipProvider
public override string GetUserNameByEmail(string email)
That should give you some ways to go about it...
Works like a charm! Thanks!
Glad it helped you out!