我正在发现 Audited gem,它可以轻松地为我的应用程序带来审计。但我仍然对审核用户身份验证相关活动(由 Devise 提供)存有疑问。
至少我想从属于用户模型的日志身份验证相关列中删除。我试过:
User.non_audited_columns = [:encrypted_password, :reset_password_token, :confirmation_token, :unlock_token]
但我不确定该声明在哪里?它在应用程序控制器中没有效果,并且在 Audited intializer 中时服务器无法启动,因为 Devise 缺少类。
这种类型的配置应该在哪里进行?谢谢你的帮助!
编辑:要审核所有模型,我实际上在 ApplicationRecord 类定义中插入了“已审核”语句:
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
include PgSearch::Model
audited
---
现在,根据 Hazhir 和 Widjajayd 的建议,我尝试在 User 模型中覆盖它:
class User < ApplicationRecord
extend CsvHelper
# Audit trail setup
audited except: [:encrypted_password, :reset_password_token, :confirmation_token, :unlock_token]
---
因此,当仅在用户模型中需要“审核”时,包括异常列表,它会按预期工作。但是当在 ApplicationRecord 中声明并在 User 模型中覆盖时,异常将被忽略。
您能否推荐一种有效的语法来覆盖“已审核”,包括列异常?
或者您会建议对每个相关模型分别应用“审计”吗?
非常感谢你的帮助!