Sie können eine remote hook für die integrierte Login-Methode erstellen.
in user.js
module.exports = User => {
User.afterRemote('login', async (ctx, usr, next) => {
let roleMaps = await User.app.models.RoleMapping.find({ where: { principalId: usr.userId } })
let roleIds = roleMaps.map(roleMap => { return roleMap.roleId })
let roles = await User.app.models.Role.find({ where: { id: { inq: roleIds } } })
usr.roles = roles
next()
})
}
Hinweis: Ich verwende ES6 und teilweise ES7 (async/erwarten), aber man kann es leicht zu ES5 umschreiben. Eine andere Option wäre, eine Beziehung zwischen Ihren Benutzer- und Rollenmodellen zu erstellen und dann include filter oder scopes zu verwenden.
Vergessen Sie nicht, dass Sie wahrscheinlich nicht Benutzer anpassen möchten, sondern Ihr eigenes Modell, das den Benutzer erweitert. –