我有一个使用Rails 4 activerecord的用户模型,它有一个accessstoken属性,存储个人访问令牌以验证该用户作为另一种身份验证机制。
当json的rails rendern呈现模型的所有字段时,也会呈现访问令牌字段。泄露凭证信息很危险。
如何在渲染之前过滤accessstoken字段,并将其标记为' FILTERED'无论何时它显示在服务器日志中,就像密码'领域呢?
答案 0 :(得分:1)
对于JSON,您可以覆盖模型上的as_json
:
def as_json(options={})
options.reverse_merge! except: :accesstoken
super(options)
end
对于日志记录,您可以在config/application.rb
中将属性添加到过滤器列表
config.filter_parameters << :accesstoken