В настоящее время я пишу приложение для управления пользователями, которое администрирует пользователей в одном экземпляре aspnetdb.Этот единственный экземпляр содержит несколько «приложений», у всех из которых есть роли, назначенные для отдельных приложений.
Поскольку каждый пользователь может быть участником нескольких приложений, я использую Roles.ApplicationName
для циклического просмотра каждого настроенного приложения, а затем определяю, в каких ролях они состоят.После проверки каждого приложения я установил Roles.ApplicationName
обратно на исходное приложение, которое является приложением управления.
Проблема, с которой я сталкиваюсь, заключается в том, что каждый из нескольких пользователей просматривает отдельное приложение и делает запрос на Roles.GetAllRoles()
.В большинстве случаев возвращающиеся роли относятся к предполагаемому приложению, но иногда неправильные роли приложения возвращаются из-за других циклов запросов по Roles.ApplicationName
для приложения.
С тех пор я читал, что Roles.ApplicationName
не является поточно-ориентированным и поэтому не должен использоваться в веб-приложении, но я бы предпочел иметь решение этой проблемы, а не переписывать образец для подражания в приложении.
Кроме того, приложения aspnetdb создаются через этосистема администрирования, и поэтому я не могу создать несколько RoleProviders, по одному на приложение.