Let's say you have 2 models. App/Models/User and App/Models/Admin
Inside your config/auth.js, you can create multiple authenticators for admin and user.
{
user: {
serializer: 'lucid',
model: 'App/Models/User',
scheme: 'session',
uid: 'email',
password: 'password'
},
admin: {
serializer: 'lucid',
model: 'App/Models/Admin',
scheme: 'session',
uid: 'email',
password: 'password'
}
}And then to protect your routes, you can say.
Route.get(...).middleware('auth:admin')
Route.get(...).middleware('auth:user')If inside your controllers, you want to know if user is an Admin or just a User, you can use the following code.
const Admin = use('App/Models/Admin')
if (auth.user instanceof Admin) {
// user is admin
}
Man, como está seu routes.js?