Не удается сохранить пользователей в приложении MVC по умолчанию

У меня возникли некоторые проблемы с использованием авторизации, поэтому я получил совершенно новое - новый компьютер, новую ОС, новую установку VS, новое приложение и базу данных в новой группе ресурсов на Azure. Весь шабанг.

Я могу подтвердить, что я могу войти в Azure DB, как показано на скриншотах ниже.

введите описание изображения здесь

Я могу видеть базы данных, таблицы, пользователей и т.д.

введите описание изображения здесь

Проблема заключается в том, что, хотя она работает локально (используя стандартную строку подключения, предоставленную для меня автоматически), она не очень хорошо работает в Azure (хотя я использую там файл публикации). Он сказал что-то о том, что файл не найден, и в соответствии с этим ответом мне нужно было изменить строку соединения.

После того, как я изменил его, я получаю следующую ошибку. Обратите внимание, что брандмауэр открыт и я могу получить доступ к БД при запуске кода моих приложений. Я чувствую, что что-то не так, когда часть аутентификации автоматически настроена. Однако у меня нет идей о том, как справиться с проблемой.

[SqlException (0x80131904): Ошибка входа для пользователя "Chamster". На этот сеанс был присвоен идентификатор трассировки "09121235-87f3-4a92-a371-50bc475306ca". Предоставьте этот идентификатор трассировки для поддержки клиентов, когда вам понадобится помощь.]

Используется строка подключения, которую я использую.

Server=tcp:f8goq0bvq7.database.windows.net,1433;
Database=Squicker;
User [email protected];
Password=Abc123();
Encrypt=True;
TrustServerCertificate=False;
Connection Timeout=10;

Эта проблема беспокоила меня какое-то время, и я буду набирать ее через два дня. Любое предложение было тепло оценено.

Ответ 1

Я считаю, что мне удалось решить эту странную проблему. Похоже, что пользователь, которого я использую, несмотря на то, что был администратором со всеми звонками и свистами, не признается администратором при использовании в строке подключения и пытается создать таблицы (это имеет место при первой регистрации).

Моим решением было создать два логина - один с ролью db_owner и один с db_datareader и db_datawriter. Во-первых, я использовал повышенного пользователя в строке подключения и зарегистрировал одного пользователя. Это создало таблицы в базе данных, как показано ниже.

введите описание изображения здесь

Затем, хотя я мог продолжать работать как администратор, я понял, что мы должны попробовать понижаемого пользователя и tada!, он работал отлично. Как только таблицы были там, вся shabeling вела себя так, как ожидалось.

Чтобы быть абсолютно уверенным, я удалил таблицы из базы данных, и там это было - те же проблемы, что и раньше. Когда я перешел на повышенного пользователя, таблицы были восстановлены, что позволило мне вернуться к пониженному.

Я также попытался сбросить таблицы, подтвердив, что проблемы снова появятся, а затем создаст таблицы вручную. Это тоже работает! Таким образом, в основном, единственным результатом, который вызвал все это, был оригинальный администратор, который не рассматривался как администратор.

Возможно, это связано с тем, что моя учетная запись Azure немного устарела, LiveID, используемая там, является древней, и у нее не было обновленной версии DB в Azure (подтягивание до v12 было выполнено 18-й в декабре, поэтому возможно, что это также было требованием заставить его работать). Я слишком устал и ленив, чтобы проверить это, и я понимаю, что я понятия не имею, как получить "старый" тип учетной записи. Кроме того, проблема будет уменьшаться и постепенно исчезнет, ​​потому что старые учетные записи будут в конечном итоге обновлены.