Отслеживание пользовательских изменений в ASP.NET MVC - PullRequest
3 голосов
/ 11 июня 2010

У меня есть требование отслеживать, какие аутентифицированные пользователи изменяются в отношении данных при входе в систему. Мне не нужно отслеживать, какие страницы они просматривают, хотя это может быть очень полезно в будущем.Я думал о сохранении Руководства пользователя, но это кажется очень неуклюжим.Мне нужно сделать простые вещи, как старое значение и новое значение.Я использую Entity Framework. Есть ли поддержка для этого с помощью хранимых процедур в SQL Server?

Существуют ли другие методы / рекомендации?

1 Ответ

3 голосов
/ 11 июня 2010

Это на самом деле не вопрос ASP.NET MVC.Вы можете реализовать аудит на своем уровне EF. Вот быстрый пример, который я только что нашел.

Я обнаружил, что трюк с одитингом заключается в понимании того, почему вам нужна поддержка.Часто пользователь говорит, что хочет провести аудит, но на самом деле он просто хочет знать дату последнего изменения / пользователя.Вы должны знать, нужны ли им возможности отмены, аудит безопасности и т. Д. Это для соответствия нормативным требованиям или для администратора баз данных, чтобы исправить ошибки пользователя?Часто бывает проще удалить и повторно ввести данные, чем вручную редактировать БД.Кроме того, как откат данных повлияет на другие проблемы отчетности?Если вы изменили данные и повторно запустили отчет, он не будет соответствовать оригиналу.Если это проблема, вам нужно сохранить исходные результаты или иметь модель источника событий.Не весело.

Вторая сложность аудита заключается в том, чтобы выяснить, как отображать данные.Иногда запросы SQL приемлемы, в других случаях пользователи хотят иметь полную историю в пользовательском интерфейсе.Мое предложение состоит в том, чтобы проанализировать бизнес-потребности вашего дела и изучить соответствующие реализации.

Кроме того, если вам необходимо провести аудит изменений отношений в базе данных, простого решения не существует.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...