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