如何在Loopback中覆盖内置登录方法?

F.D*_*.F. 4 overriding login loopbackjs

我已经创建了一个基于内置的新用户模型.我正在尝试这个:

module.exports = function(TiUser) {
  TiUser.on('dataSourceAttached', function(obj) {
    var login = TiUser.login;
    TiUser.login = function(credentials, include, cb) {
      var result = login.apply(this, credentials);

      // Do my stuff
      cb(null, my_data);
    };
  });
};
Run Code Online (Sandbox Code Playgroud)

但我无法让它发挥作用......出了什么问题?或者这怎么可能做得对?

谢谢

Vis*_*mar 5

您可能需要考虑添加一个afterRemote()钩子login().现在,您可以实现向用户添加角色(使用Role模型).例如:

TiUser.afterRemote('login', function(ctx, next) {

    //add role to the user.

    next();
});
Run Code Online (Sandbox Code Playgroud)