繁体   English   中英

Npgsql.PostgresException: '28P01: 即使密码正确,密码验证也失败

[英]Npgsql.PostgresException: '28P01: password authentication failed for use even with the right password

我在通过我的 Asp.net 应用程序连接到远程数据库时遇到问题。 问题是,当我通过 pgAdmin 使用相同的凭据时它会起作用。 一切似乎都归结为 web.config 中的这一行:

<add name="name" providerName="Npgsql" connectionString="Server=127.0.0.1;Port=5432;Database=database;User Id=user;Password=password;Integrated Security=true;Pooling=true;" />

当然,我在这里更改了名称、数据库、用户 ID 和密码,因为它是机密的。 我用腻子绕过防火墙,对我的同事来说效果很好。 这是我得到的错误:

由于密码无效导致的连接问题

我和同事核对了很多次密码,我们的密码是一样的。 它也与我在 pgAdmin 中使用的那个相同。 哦,即使我不在后台运行我的 pgAdmin 并单独运行我的 asp.net 应用程序,我仍然会收到错误消息(以防 2 个相同端口尝试同时连接时可能发生端口冲突)。 Putty 在我的案例中似乎毫无用处,即使它与我的同事具有相同的配置(适用于他们的配置)。

有谁知道我该如何解决这个问题?

如果您指定用户名和密码...您应该删除:

集成安全性=真;

“身份”可能不同……并且可能正在更改您指定的用户。

Integrated Security(在windows下)的意思是“使用连接到运行代码的进程的身份”。

大多数时候,当您登录到您的 windows 机器时,身份是“您”。 如果你打开“Windows 服务”,你会发现一些偏离这个一般规则的地方。

https://www.connectionstrings.com/postgresql/

它经历了一些概念。

您会注意到(在我刚才提到的 URL),“集成安全示例(如下所示)不包含用户名或密码。

Using windows security
Server=127.0.0.1;Port=5432;Database=myDataBase;Integrated Security=true;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM