.NET Core DI Service Collection не изменяемая служба для целостности - PullRequest
0 голосов
/ 02 июня 2019

Я потратил время на ядро ​​.NET и модель внедрения зависимостей, используя объект ServiceCollection.

Есть ли способ защиты целостности реализаций службы, которые уже были добавлены в коллекцию?

Я хотел бы знать, что оригинальная реализация службы, которую я добавил, не была изменена или заменена в какой-то момент во время выполнения.

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

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

Есть предложения?Возможно, есть какая-то защита, которая предотвращает это, или это просто не проблема?

1 Ответ

0 голосов
/ 03 июня 2019

Вы можете реализовать IServiceCollection вручную, определив класс, с помощью List<ServiceDescriptor> для реализации всех методов, объявленных в интерфейсах.

Затем измените методы, которые могут изменять значения элементов, которые являются реестрами, добавив уведомляющие операции, чтобы определить, изменились ли значения.

...