2016-04-29 5 views

答えて

1

組み込みのログイン方法としてremote hookを作成できます。

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() 
    }) 
} 

user.jsに:私はES6と部分的にES7を(非同期/が待っています)を使用していますが、あなたは簡単にES5にそれを書き換えることができます。

また、ユーザーモデルと役割モデルの間に関係を作成し、include filterまたはscopesを使用することもできます。

+0

Userをカスタマイズするのではなく、Userを拡張する独自のモデルをカスタマイズすることをお勧めします。 –

関連する問題