Проблемы
В рассмотренной реализации защиты приложения обычными способами явно видны следующие недостатки:
Реализация защиты очень сильно привязана к конкретному приложению.
Так как код проверок внедряется в код системы то никак нельзя надёжно гарантировать, что все места раскрытия секретных данных окружены такими проверками.
Код с внедрёнными вызовами системы авторизации трудно расширять и тестировать.
Очевидно, что все вышеперечисленные проблемы возникают из-за того, что основная функциональность системы переплетается с функциональностью реализующую защиту. Схожие проблемы всегда существуют при создании сложных информационных систем, и происходит это из-за того, что доступные ООП средства не позволяют нам удобно и просто совмещать пересекающиеся функциональности.