【问题标题】:Exclude password from sails user association从sails 用户关联中排除密码
【发布时间】:2014-11-04 12:44:57
【问题描述】:

在我的许多对象关联中,我引用了用户模型。如何默认或强制排除密码字段。

例如Post.findOne().populate('author')... 将产生作者的加密密码...!

编辑 1 - 我找到了 1 个解决方案:

http://adityamukho.com/blog/tags/sails-js/ 写入覆盖模型中的 toJSON 方法:

toJSON: function() { var obj = this.toObject(); delete obj.password; return obj; },

【问题讨论】:

    标签: model associations sails.js password-protection


    【解决方案1】:

    【讨论】:

    • 甜蜜!我最初把这个放在模型中太高了。其他人应该注意到这存在于 attributes 部分。
    【解决方案2】:

    更新了 Waterline 文档链接:https://github.com/balderdashy/waterline-docs/blob/master/models/instance-class-methods.md#toobjecttojson

    Meeker 发布了 404 的链接。

    【讨论】:

      【解决方案3】:

      对我来说,删除用户密码的记录方法不起作用。

      我不知道为什么,但我必须这样做:

      attributes: {
          // Other attributes ...
          toJSON: function() {
            var obj = this.toObject();
            delete obj['password'];
            return obj;
          }
        }
      

      无论出于何种原因,这适用于我的机器和我要部署到的服务器,但 delete obj.password 不适用。我认为这可能会在将来为某人省去一些麻烦。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-09
        • 1970-01-01
        • 2013-04-26
        • 2018-12-09
        • 1970-01-01
        • 2014-08-19
        • 2015-04-10
        • 1970-01-01
        相关资源
        最近更新 更多