Thanks for the reply, I followed your suggestion that I had to do this manually and I ended adding the validations on global.asax file and also some Membership Providers using the new API and finally making some overrides to some methods in order to acomplish this.
if anybody is interested I left the code below, so you can take it as reference:
MembershipProvider.cs
public class MembershipProvider : CMSMembershipProvider
{
public override bool ValidateUser(string username, string password)
{
if (ValidationHelper.IsEmail(username))
{
string customUsername = base.GetUserNameByEmail(username);
if (!string.IsNullOrEmpty(customUsername))
username = customUsername;
}
return base.ValidateUser(username, password);
}
}
UserInfoProvider.cs
public class UserInfoProvider : CMS.Membership.UserInfoProvider
{
protected override UserInfo GetUserInfoInternal(string userName)
{
if (ValidationHelper.IsEmail(userName))
{
CMSMembershipProvider membershipProvider = new CMSMembershipProvider();
string customUserName = membershipProvider.GetUserNameByEmail(userName);
if (!string.IsNullOrEmpty(customUserName))
userName = customUserName;
}
return base.GetUserInfoInternal(userName);
}
}