Как добавить пользователей в IIS Manager для приложения ASP.NET 4.0? - PullRequest
11 голосов
/ 30 мая 2010

Я установил приложение веб-форм ASP.NET 4.0 в IIS 7.5. Если я установлю для пула приложений значение DefaultAppPool (.NET Framework 2.0), я получу значки для провайдеров, .NET-ролей и .NET-пользователей , отображаемых на странице конфигурации приложения. в диспетчере IIS, и я могу управлять пользователями и ролями в IIS. (Я использую проверку подлинности с помощью форм.)

Но если я установлю пул приложений на ASP.NET v4.0 , у меня возникнет проблема: двойной щелчок по значкам для пользователей или ролей в диспетчере IIS выдает ошибку, сообщающую, что я не могу использовать эти функции, поскольку поставщики не могут быть определены как доверенные. Если я задаю Administration.config в разделе trustedProviders allowUntrustedProviders = "true" и снова дважды щелкните на одном из значков, я получаю сообщение об ошибке, что сборка System.Web, версия 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a не найдена. При перезапуске диспетчера IIS значки полностью исчезают.

.NET Framework 4.0 определенно установлена. Так что это все довольно запутанно. Я знаю, что .NET 4 использует другой GAC, чем старый для .NET 2-3. Возможно ли, что IIS Manager не может найти новый GAC для .NET 4? Должен ли я добавить некоторые из новых сборок 4.0 в Administration.config ? Есть ли другой способ добавить пользователей и роли вместо IIS?

Заранее спасибо за помощь!

Ответы [ 2 ]

10 голосов
/ 14 февраля 2011

Существует простой обходной путь, который намного проще, чем создание страниц администрирования.

  1. Создайте новый сайт на вашем сервере. Вы можете назвать его MembershipAdminstrationYourActualSiteName. Привязка не имеет значения, так как вы не будете выполнять какие-либо страницы на этом сайте, но убедитесь, что она работает в пуле приложений по умолчанию 2.0.

  2. Скопируйте файл web.config со своего сайта 4.0 в папку для нового сайта. Отредактируйте файл, удалив все, кроме connectionString, аутентификации, членства, roleManager и разделов профиля.

  3. Теперь в IIS Manager есть доступ к ролям .NET и пользователям .NET. Если вы правильно отредактировали файл web.config, вы должны увидеть пользователей и роли для вашего приложения 4.0.

9 голосов
/ 22 июня 2010

К сожалению, в настоящее время эти функции не поддерживаются, если ваш пул приложений использует .NET 4.0, так как для этого потребуется IIS Manager для загрузки платформы .NET 4.0 для вызова нужных поставщиков (и именно поэтому .NET Users / Membership , .NET Роли и т. Д.), И это невозможно, поскольку IIS Manager является приложением .NET 2.0.

Так что пока нет хорошего обходного пути, кроме временного изменения пула приложений на 2.0 и добавления их, а затем переключения обратно на 4.0. Но, конечно, вы не должны делать это, если это не просто машина разработки.

В противном случае вы можете создать страницу, используя элемент управления CreateUserWizard, и использовать встроенные элементы управления входом из ASP.NET, которые должны состоять из одной строки (разметки), чтобы получить аналогичные функции.

...