Forcing a customer to login/register at checkout
You can disable Guest checkout in System → Settings → Checkout via Guest Checkout setting. Сustomer will not be able to check out without registering.
Set default customer group to assign new customers
System → Settings → Checkout via Customer Group dropdown
Approve/disapprove every customer who register to the store
System → Settings → Checkout via Approve New Customers setting. If On customers see approval waiting for page after registration. This will require admin approval before activating customers accounts. Once approved the customer will receive confirmation e-mail
Verifying new customers with activation email
System → Settings → Checkout via Email Activation for New Customers setting. Take a note more registration steps make some people confused.
Require Login name
System → Settings → Checkout. To improve security, require customers to create unique login name instead of using an email address as login name. If set to Require Login Name to ON, existing customers will be asked to create new login name at the first login. If OFF, login name is set as customer email address.
System → Settings → Checkout. Select Account Terms content page to force people to agree to terms before an account can be created.