Как я могу создать профиль локального пользователя для анонимного пользователя приложения ASP.Net MVC под IIS 7? - PullRequest
3 голосов
/ 09 февраля 2009

Я экспериментировал с ASP.Net MVC и столкнулся с проблемой, которая, вероятно, не связана конкретно с MVC. Но я не могу заставить аутентификацию в приложении MVC по умолчанию (созданном мастером при создании нового проекта MVC) работать должным образом под IIS 7 в Windows 7.

Если я работаю в среде Visual Studio, это работает, но если вместо этого я переключаю настройки на запуск под IIS, я получаю следующее исключение при попытке ввести логин или регистрацию:

Не удалось создать пользовательский экземпляр SQL Server из-за сбоя в получение локального пользователя путь к данным приложения. Пожалуйста, сделай уверен, что у пользователя есть локальный профиль пользователя на компьютере. Соединение будет быть закрытым.

Я считаю, что это происходит потому, что веб-сайт работает под моей учетной записью в Visual Studio, но под учетной записью IUSR в IIS. Поиски в Google по сообщению об исключении пока не помогли.

Итак, можно ли создать локальный профиль пользователя для учетной записи IUSR? Если так, то как? Что-то еще, что я должен сделать, чтобы заставить двигатель SQLExpress работать под анонимной учетной записью в IIS 7?

Я также попытался настроить веб-сайт IIS для использования моей учетной записи, но, поскольку это мой домашний компьютер, у моей учетной записи нет пароля, и похоже, что IIS не позволит веб-сайту настроить использование учетной записи без пароль. Или, так как это мой первый опыт работы с IIS 7, а конфигурация выглядит совсем не так, как в IIS 5/6, мне просто не хватает нужной настройки, которая позволит мне настроить учетную запись для использования в качестве анонимного доступа.

РЕДАКТИРОВАТЬ: Некоторая дополнительная информация. Если я очищаю папку App_Data и повторяю попытку из IIS, SQLExpress пытается создать мою базу данных и завершается неудачно, но сообщение об исключении содержит дополнительную информацию со следующими предложениями.

Автоматическое создание файла базы данных SQLExpress ошибка:

Строка подключения указывает локальный экземпляр Sql Server Express используя базу данных в пределах каталог приложений app_Data. провайдер попытался автоматически создать сервис приложений база данных, потому что поставщик определил, что база данных не существовать. Следующая конфигурация требования необходимы для успешно проверить наличие база данных служб приложений и автоматически создавать приложение база данных служб:

  1. Если каталог приложений App_Data еще не существует, Учетная запись веб-сервера должна быть прочитана и доступ для записи в приложения каталог. Это необходимо, потому что учетная запись веб-сервера будет автоматически создавать App_Data каталог, если он еще не есть.
  2. Если каталог приложений App_Data уже существует, Интернет учетная запись сервера требует только чтения и доступ для записи в приложения Каталог App_Data. Это необходимо потому что учетная запись веб-сервера будет попытаться проверить, что сервер Sql Экспресс база данных уже существует в каталог приложений App_Data. Отмена доступа на чтение к App_Data каталог из учетной записи веб-сервера помешает провайдеру правильно определить, если Sql База данных Server Express уже существует. Это приведет к ошибке, когда поставщик пытается создать дубликат уже существующего база данных. Доступ для записи требуется потому что учетные записи веб-сервера учетные данные используются при создании Новая база данных.
  3. Sql Server Express должен быть установлен на машине.
  4. Идентификатор процесса для учетной записи веб-сервера должен иметь локальный пользователь профиль. Смотрите документ readme для подробности о том, как создать локального пользователя профиль для машины и домена счета.

Я довольно широко подтвердил, что первые три предложения были удовлетворены. Четвертый, кажется, причина моих проблем, но я не могу понять, как это сделать. И хотя в предложении говорится, что есть документ readme, в котором он описан, я не смог найти этот документ.

Ответы [ 3 ]

4 голосов
/ 08 октября 2009

У меня эта проблема также работает при среднем доверии. Процесс, который создает базу данных, требует как минимум высокого доверия. Вы можете проверить это, посмотрев в своем Web.Config значение

<trust level="TrustLevel" />

Если в вашем Web.Config не указано доверие, попробуйте добавить его и установить для него значение Full или High. Если это не работает, в IIS есть файл machine.config, который вам нужно изменить.

При этом лучший путь, который я нашел для решения этой проблемы, - это просто использовать aspnet_regsql.exe для создания необходимых таблиц, а затем изменить строку подключения в вашем Web.Config для непосредственного просмотра.

1 голос
/ 26 мая 2011

Я решил: «Каталог« LocalApplicationData »не существует». ошибка при запуске пакета служб SSIS через задание SQL, гарантируя, что служба SQL SSIS и служба агента SQL Server работали под той же учетной записью, для которой задано использование задания swql!

В моем случае это была учетная запись домена.

0 голосов
/ 11 сентября 2012

Решение: попробуйте удалить все обновления, прежде чем вы начнете сталкиваться с проблемой. Я провел бесчисленные часы - потраченные впустую часы, которые я никогда не верну в свою жизнь - читая и следуя каждому возможному решению без успеха. Я удалил все обновления SQL Server, и теперь все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...