Using Tank Auth for first time along with HMVC. In my application there are 2 type of user one is say student and another is institute.
I created two modules for each user type and separated the tank auth library , both user’s registration, login and tables are different from each other.
Now if I try to add any other page which is common to both users like home page, Which library should be used.
I know there must be better solution to handle multiple user problem.
Please let me know where I’m doing wrong. And what should I do to tackle this problem.
You’re right, there’s a better way to handle this. Duplicating your user / registration system is the wrong way to go.
You’ll need to modify TankAuth to include a user type column, and then check for that user type. I’d suggest a new column in the ‘users’ table for ‘user_role’:
https://github.com/ilkon/Tank-Auth/blob/master/schema.sql
You could handle the user_type as either an int or enum. I’d lean towards int since enum is harder to change later. You could also add a new table for user_roles but I usually just store these in a config file.
Once the schema is altered, you’ll need to add a reference to the new column (along with possible options) in the Tank_Auth code. You’ll need to include it in creation, update (data is passed to model from the tank auth controller: controllers/auth.php) and lookup functions. I would add a lookup by user_role as well to the tank_auth model (application / models / tank_auth / users.php):
Lastly, you’ll want to set the user role to session on login so that you can track the user type (and what content / functionality they have access to).
I’ve used Tank_Auth myself for several projects.