
В диспетчере IIS у вас есть возможность управлять зарегистрированными пользователями и доступными ролями. По умолчанию доверенными являются только несколько поставщиков, такие как AspNetMembershipProvider и некоторые другие. Если в вашем веб-приложении настроен другой поставщик, это не работает. Он предупреждает вас о том, что вам нужно добавить сборку в GAC и добавить библиотеку в доверенные поставщики в файле конфигурации (administration.config).
Итак, я пошел дальше и добавил сборку (WebMatrix.WebData) в GAC и настроил файл конфигурации так, чтобы он также разрешал ненадежных поставщиков. Но есть две проблемы:
- Каждый раз, когда вы открываете панель .NET Users в IIS Manager, он предупреждает вас, что поставщик получает больше привилегий, чем в приложении. Это можно было бы решить, добавив его в список «доверенных», но я не могу заставить это работать.
- Это не работает. Если я разрешаю Provider работать с более высокими привилегиями, он перестает работать и выдает ошибку, что вам нужно вызвать WebSecurity.InitializeDatabaseConnection перед вызовом любого другого метода. Как заставить IIS Manager выполнить эту команду до того, как он вызовет любую другую?