Проблема в том, что информация пользователя не является частью контекста.
Смешивание двух контекстов не поможет вам, и запрос обоих контекстов не является решением. Решение состоит в том, чтобы информация стала частью контекста.
Это на самом деле, как работает идентичность. Когда вы входите в систему с внешним провайдером, таким как Google, в таблице AspNetUsers создается локальная копия пользователя. Резервные? Нет, потому что это другой контекст, к которому у вас нет доступа.
Если вы хотите отобразить информацию о пользователе в отчете, вам необходимо создать локальную копию пользователя, включая соответствующую информацию.
Обратите внимание, что в претензиях может содержаться информация о текущем пользователе. Но поскольку вам также нужна информация от других пользователей, вам нужно будет хранить ее в бизнес-контексте.
Вы можете выбрать какую-либо стратегию для считывания информации из утверждений при входе пользователя в систему, вызывая конечную точку UserInfo (если дано согласие) или добавить функциональность для поддержки информации о пользователе в бизнес-контексте.
Суть в том, что вам нужно будет создать таблицу User в бизнес-контексте, содержащую информацию, необходимую для отчетов.
Я нашел библиотеку BouncyCastle для Java и C#. У меня нет опыта с ним. Я попробую его и сообщу здесь.
Это обеспечивает:
(из BouncyCastle.org)
Есть коммерческая библиотека поверх BouncyCastle: http://www.didisoft.com/ , которая значительно упрощает BouncyCastle API .
Я не пробовал, просто обнаружил, что это упомянуто на jGuru.
Я думаю, что безопасно использовать только BouncyCastle. Их библиотека находится в стадии разработки, и они предоставляют примеры openpgp ...