Я открываю драгоценный камень Audited, который значительно упрощает аудит моего приложения. Но у меня все еще есть сомнения по поводу аудита действий, связанных с аутентификацией пользователей (предоставленных Devise).
По крайней мере, я хотел бы удалить из журнала столбцы, связанные с аутентификацией, принадлежащие пользовательской модели. Я пытался:
User.non_audited_columns = [:encrypted_password, :reset_password_token, :confirmation_token, :unlock_token]
, но я не уверен, куда поместить это утверждение? Это не действует, когда в контроллере приложений, и сервер не запускается, когда в Audited Intializer, из-за разработки отсутствующих классов.
Где должен иметь место этот тип конфигурации? Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: для аудита всех моделей, я фактически вставил «аудированный» оператор в определение класса ApplicationRecord:
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
include PgSearch::Model
audited
---
А теперь на основе Хажира и Виджаджайда Рекомендация, я пытаюсь переопределить его в модели User:
class User < ApplicationRecord
extend CsvHelper
# Audit trail setup
audited except: [:encrypted_password, :reset_password_token, :confirmation_token, :unlock_token]
---
В результате, когда 'audited' требуется только в модели User, включая список исключений, он работает должным образом. Но когда они объявлены в ApplicationRecord и переопределены в пользовательской модели, исключения игнорируются.
Можете ли вы порекомендовать рабочий синтаксис для переопределения аудита, включая исключения столбцов?
Или вы бы порекомендовали применить «аудированный» соответственно для каждой соответствующей модели?
Большое спасибо за вашу помощь!