User account registration

Hi Community, I have  an use case, where any user can register their account with basic details such as username, password, email etc., and should be able to login back again with the registered details. I am able to figure out how to start and proceed, like I started to use the Administration module “Account” entity and Account_Overview page is where all the users are created and managed. Here are the different solutions I tried and stuck in middle in every solution : Solution 1:  User clicks on the register button, user is being redirected to “Administration.Account_overview” page.        a) If the user has role “Administrator”, he can able to see all existing details and register the account properly. See the highlighted “demo_administrator” on the right.                   when the use role is not administrator like anonymous user, then Account_overview page behaves differently, also I am not able to register a user properly. User roles are not being shown.   All the page and entity access has been setup correctly and full access have been given for all roles for this page and entity, but still Account_overview page works only for Administrator. I want any user to create an account, not only administrator   Solution 2: Created a domain model entity “REGISTRATION” and inherited (Generalization) – Administrator.ACCOUNT entity. This added lot of complexities to the entity and was breaking. Please shed some light. Please provide me a proper solution for my simple use case.  Thanks for all.  
1 answers

I would suggest following this learning path:

And best practise would be to not use a generalization of Account but use a one on one reference to account, since a user has an account and not is an account.