无法在默认 MVC 应用程序中存储用户

2024-01-02

我之前在使用授权时遇到了一些问题,所以我得到了全新的一切 - 新计算机、新操作系统、全新安装的 VS、新应用程序和 Azure 上新资源组中的数据库。整个沙邦。

我可以确认我可以登录 Azure DB,如下图所示。

我可以看到数据库、表、用户等。

问题是,虽然它可以在本地运行(使用自动为我提供的默认连接字符串),但它在 Azure 中的性能不佳(尽管我使用的是那里的发布文件)。它说了一些关于找不到文件的事情,并且根据这个答案 https://stackoverflow.com/a/22624092/1525840,我需要更改连接字符串。

我修改后,出现以下错误。请注意,防火墙是打开的,当我运行应用程序的代码时,我可以访问数据库。我感觉自动配置认证部分的时候出了点问题。不过,我不知道如何解决它。

[SqlException (0x80131904):用户“Chamster”登录失败。 此会话已分配跟踪 ID“09121235-87f3-4a92-a371-50bc475306ca”。当您需要帮助时,请将此跟踪 ID 提供给客户支持。]

我正在使用的连接字符串是这样的。

Server=tcp:f8goq0bvq7.database.windows.net,1433;
Database=Squicker;
User ID=Chamster@f8goq0bvq7;
Password=Abc123();
Encrypt=True;
TrustServerCertificate=False;
Connection Timeout=10;

这个问题困扰了我一段时间,过两天就解决了。任何建议都受到热烈欢迎。


我相信我已经成功解决了这个奇怪的问题。看来我正在使用的用户,尽管是具有所有花哨功能的管理员,但在连接字符串中使用并尝试创建表时(这是第一次注册时的情况),并未被识别为管理员。

我的解决方案是创建两个登录名 - 一个是db_owner角色和一个数据库数据读取器 and 数据库数据写入器。首先,我在连接字符串中使用了提升的用户并注册了一个用户。这在数据库中创建了表,如下所示。

然后,虽然能够继续以管理员身份,但我意识到我们应该尝试降级用户和 tada!,它运行得很好。一旦桌子到位,整个整顿行为就如预期的那样。

可以肯定的是,我从数据库中删除了表,结果就在那里 - 与之前的问题相同。当我更改为提升用户时,表被恢复,使我能够返回到降级用户。

我还尝试删除表,确认问题重新出现,然后手动创建表。这也有效!所以基本上,导致这一切的唯一问题是原始管理员没有被视为管理员。

这可能与我的 Azure 帐户有点旧有关,那里使用的 LiveID 很古老,并且 Azure 中没有更新版本的 DB(v12 的上拉是在 12 月 18 日进行的,所以这可能也是让它工作的一个要求)。我太累了,也懒得去检查,而且我意识到我不知道如何获得“旧”类型的帐户。此外,由于旧帐户最终会升级,因此该问题将会减少并逐渐消失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在默认 MVC 应用程序中存储用户 的相关文章

随机推荐