I'm going to be building a site that will have a login section for our pricing. We are a Wholesaler that sells exclusively to "the trade" and NEVER to end clients.
Our customers go thru an approval process to ensure that they are resellers.
Our current site actually has just one login that they all use.
So, with the new site, we want individual accounts. The dilemma is how to have our approved customers and only our approve customers create their own accounts.
Any suggestions are greatly appreciated!!!
You don't want to reinvent the wheel. I would suggest going with some sort of content management system. [Drupal - Open Source CMS | drupal.org would be my first choice. People can have accounts and you can create roles to give certain people access to certain content. So let's say you can let anyone register and you set them as pending until you approve them and place them in the appropriate roll. Since you do have your own way of making sure the people who apply to you are legit I don't see any problem with them just deleting accounts that don't cut the mustard. You can also add ecommerce functionality to Drupal and I recommend the ubercart set of modules [url=http://www.ubercart.org/]Ubercart, the Free Open Source E-Commerce Shopping Cart Solution / Software for Drupal, E Commerce](http://drupal.org) . I would go with Drupal 6.x though instead of the latest version for right now but its really up to you.
It wouldn't be hard to write such a system, I think using Drupal just for this functionality would certainly be overkill.
How would you check that a client is a retailer in-store? It'd be the same process online:
-> User's account is temporarily 'limited'.
Is the user a retailer?
Yes -> The account is set to 'authorised'.
No -> The account is either banned or kept limited
-> User notified via email
The only addition to the standard membership system would be a field in the accounts table called 'Authorised', with 0 for limited and 1 for authorised. The validation process can either be moderated by a real person, or some kind of online authorisation service.