У меня есть приложение ASP.NET 3.5, которое я недавно продлил с несколькими поставщиками членства и роли, чтобы «прикрепить» второе приложение в этом приложении. У меня нет прямого доступа к конфигурации IIS, поэтому я не могу разбить это на отдельный каталог приложений.ASP.NET 3.5 Несколько ролевых провайдеров
При этом я успешно отделил логины; однако после входа в систему я могу проверить группы, к которым пользователь принадлежит, через настраиваемые подпрограммы роли, и я могу иметь одинаковые имена пользователей с разными паролями для обоих «приложений».
Проблема, с которой я сталкиваюсь, заключается в создании пользователя с идентичным именем пользователя для другого члена (который использует роли web.config в каталогах), я могу вручную переключать URL-адреса в другое приложение, и это подбирает имя пользователя и загружает роли для этого приложения. Очевидно, что это плохо, поскольку это позволяет пользователю создавать имя пользователя, у кого есть доступ к другому приложению, и переходить в другое приложение с ролями другого пользователя.
Как я могу смягчить это? Если у меня ограничено одно приложение для работы с несколькими поставщиками роли и членства, а файл cookie auth сохраняет имя пользователя, которое, по-видимому, может быть передано, есть ли что-нибудь, что я могу сделать?
Я понимаю, что ситуация не идеальна, но это налагаемые ограничения на данный момент.
Пример аутентификации (при проверке):
FormsAuthentication.SetAuthCookie(usr.UserName, false);
Это печенье должно быть основано на маркере пользователя я подозреваю, а не UserName для того, чтобы разделить два провайдера? Это возможно?
Да, они разделены по названию приложения. Есть два поставщика ролей с разными именами приложений и два поставщика членства с разными именами приложений (конечно, совмещение роли с членством). – Dudeinco