如何解决在客户端 PC 中使用本地系统帐户运行的服务和 PostgreSQL 连接失败并显示以下错误
在客户端 PC 中使用本地系统帐户运行的服务和 PostgreSQL 连接失败并出现错误,但连接在服务器 PC 上工作(服务使用本地系统帐户运行)。
示例:
System1 = 使用本地系统帐户 + PostgreSQL 服务器运行 Windows 服务
System2 = 使用本地系统帐户运行相同的 Windows 服务 + 通过连接字符串中的 System1 主机名访问 PostgreSQL
System1 PostgreSQL 在登录/组角色下配置了“SYSTEM”/“system”。
System1 服务能够建立连接并工作
System2 服务遇到 SSPI 身份验证问题(“28000:用户“系统”的 SSPI 身份验证失败)
错误:“28000:用户“系统”的 SSPI 身份验证失败”
InvariantSeverity : 致命
堆栈跟踪 :
" 在 Npgsql.NpgsqlConnector.c__DisplayClass160_0.d.MoveNext()\r\n--- 从上一个抛出异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime。 ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 Npgsql.NpgsqlConnector.c__DisplayClass160_0.d.MoveNext()\r\n--- 从上一个抛出异常的位置的堆栈跟踪结束 -- -\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 Npgsql.NpgsqlConnector.GSSPasswordMessageStream.d__11。 MoveNext()\r\n--- 从上一个抛出异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n 在 System.Runtime .CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Npgsql.NpgsqlConnector.GSSPasswordMessageStream.Read(Byte[] buffer,Int 32 偏移量,Int32 计数)\r\n 在 System.Net.StreamFramer.ReadMessage()\r\n 在 System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)\r\n 在 System.Net.Security.NegoState .CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)\r\n 在 System.Net.Security.NegoState.StartSendBlob(Byte[] message,LazyAsyncResult lazyResult)\r\n 在 System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message,LazyAsyncResult) lazyResult)\r\n 在 System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message,LazyAsyncResult lazyResult)\r\n 在 System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult)\r\n 在 System. Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult)\r\n 在 System.Net.Security.NegoState.StartSendBlob(Byte[] message,LazyAsyncResult lazyResult)\r\n 在 System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult) lazyResult)\r\n 在 System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential凭据、ChannelBinding 绑定、字符串 targetName、ProtectionLevel requiredProtectionLevel、TokenImpersonationLevel allowedImpersonationLevel)\r\n 在 System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential,String targetName)\r\n 在 Npgsql.NpgsqlConnector.d__4.MoveNext()\ r\n--- 上一个引发异常的位置的堆栈跟踪结束---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter .HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Npgsql.NpgsqlConnector.d__0.MoveNext()\r\n--- 从上一个抛出异常的位置结束堆栈跟踪---\r\n 在 System.Runtime。 CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Npgsql.NpgsqlConnector.d__148.MoveNext()\r\n--- 结束来自先前抛出异常的位置的堆栈跟踪n ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 Npgsql.ConnectorPool.d__28 .MoveNext()\r\n--- 从上一个引发异常的位置的堆栈跟踪结束---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n 在 System. Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Threading.Tasks.ValueTask`1.get_Result()\r\n at Npgsql.NpgsqlConnection.c__DisplayClass32_0.d.MoveNext ()\r\n--- 从上一个抛出异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n 在 System.Runtime。 CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Npgsql.NpgsqlConnection.Open()\r\n at NHibernate.Connection.DriverConnectionProvider.GetConnectio n()\r\n 在 NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()\r\n 在 NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(方言方言,IConnectionHelper connectionHelper)\r\n 在 NHibernate.Tool.hbm2l .SchemaMetadataUpdater.Update(ISessionFactory sessionFactory)\r\n at NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg,IMapping mapping,Settings settings,EventListeners listeners)\r\n at NHibernate.Cfg.Configuration.BuildSessionFactory()\r \n 在 ABCD.DAL.NH.NHDAL.CreateSessionFactoryProject(Boolean dbCreated)"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。