Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL SSPI身份验证-致命:2801:用户的密码身份验证失败;xxx“;_Sql_Postgresql_Authentication_Npgsql - Fatal编程技术网

PostgreSQL SSPI身份验证-致命:2801:用户的密码身份验证失败;xxx“;

PostgreSQL SSPI身份验证-致命:2801:用户的密码身份验证失败;xxx“;,sql,postgresql,authentication,npgsql,Sql,Postgresql,Authentication,Npgsql,我是PostgreSQL的新手,对MS SQL Server有相当多的经验。PostgreSQL的一个吸引我注意的特性是SSPI身份验证,我希望它能使从MS SQL的转换更容易。然而,我似乎无法让它发挥作用 目前,服务器和客户端都运行在同一台Windows 7计算机上,该计算机不是域的成员。如果我理解正确,SSPI auth会从Kerberos返回到NTLM,因此它应该在没有域的情况下工作-对吗 当我尝试连接(通过Npgsql从.NET应用程序连接)时,我收到一条NpgsqlException消

我是PostgreSQL的新手,对MS SQL Server有相当多的经验。PostgreSQL的一个吸引我注意的特性是SSPI身份验证,我希望它能使从MS SQL的转换更容易。然而,我似乎无法让它发挥作用

目前,服务器和客户端都运行在同一台Windows 7计算机上,该计算机不是域的成员。如果我理解正确,SSPI auth会从Kerberos返回到NTLM,因此它应该在没有域的情况下工作-对吗

当我尝试连接(通过Npgsql从.NET应用程序连接)时,我收到一条
NpgsqlException
消息:
Fatal:28P01:password authentication failed for user“xxx”
这条消息让我有点困惑,因为我没有使用密码验证

我的
pg_hba.conf

host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5
host    all             all             127.0.0.1/32            sspi
Npgsql连接字符串:

Server=127.0.0.1;端口=5432;数据库=mydb;综合安全=真实

我做错了什么?还是说没有域它就不能工作?

好的,明白了。我不能同时允许MD5和SSPI身份验证。因此,不管怎样,没有“失败”机制-只尝试与请求匹配的第一个身份验证方法。所以剩下要做的就是从
pg_hba.conf
中删除前两行,并创建一个与我的Windows登录名同名的角色。让我感到不安的是,显然是配置错误的内容被悄悄地忽略了,甚至日志中没有警告-这背后有什么原因吗?

好的,我应该只使用RTFM::“没有“故障”或“备份”“:如果选择了一条记录,但身份验证失败,则不考虑后续记录。如果没有匹配的记录,访问将被拒绝。“