WCF - учетная запись пользователя Windows переименована и теперь SecurityNegotiationException - PullRequest
0 голосов
/ 20 января 2011

У меня есть система, которая работает в течение года довольно счастливо. Недавно клиент переименовал некоторые учетные записи пользователей в XP, и теперь мы получаем исключения для безопасности, я просто хотел бы понять, почему.

Проблема, похоже, заключается в том, что «переименование» учетной записи просто меняет «отображаемое» имя пользователя, т. Е. Все это по-прежнему выполняется с исходного пути / учетной записи пользователя. Я думаю, что это как-то ломает полномочия. Заказчик говорит, что он должен придерживаться переименования этого пользователя, поэтому единственное решение, которое я вижу, это отключить защиту системы?

Вот привязка:

<bindings>
      <customBinding>
        <binding name="NetTcpBinding_Custom" openTimeout="00:10:00" receiveTimeout="00:20:00" closeTimeout="00:01:00" sendTimeout="00:04:00" >
          <transactionFlow />
          <binaryMessageEncoding />
          <windowsStreamSecurity protectionLevel="EncryptAndSign" />
          <reliableSession maxPendingChannels="512" maxRetryCount="16" maxTransferWindowSize="512" flowControlEnabled="True"/>
          <tcpTransport maxBufferPoolSize="524288" maxReceivedMessageSize="99999998"
                        connectionBufferSize="16384" hostNameComparisonMode="StrongWildcard"
                        channelInitializationTimeout="00:01:00" maxBufferSize="99999998"
                        maxPendingConnections="100" maxOutputDelay="00:00:00.2000000" maxPendingAccepts="100"
                        transferMode="Buffered" listenBacklog="400" portSharingEnabled="false"
                        teredoEnabled="false">
            <connectionPoolSettings groupName="default" leaseTimeout="00:05:00" idleTimeout="00:02:00" maxOutboundConnectionsPerEndpoint="100" />
          </tcpTransport>
        </binding>
      </customBinding>
    </bindings>

и теперь с этой переименованной учетной записью мы получаем:

2011-01-14 08:57:12,912 [99716] ERROR Wolfhaus.BrokerDashboard.Client.StaticData - Error in GetRawData: System.ServiceModel.Security.SecurityNegotiationException: The server has rejected the client credentials. ---> System.Security.Authentication.InvalidCredentialException: The server has rejected the client credentials. ---> System.ComponentModel.Win32Exception: The logon attempt failed
   --- End of inner exception stack trace ---
   at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
   at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
   at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   --- End of inner exception stack trace ---

Server stack trace: 
   at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream)

Могу ли я в любом случае обеспечить некоторую безопасность в системе, или, учитывая, что они не будут "отменять" переименование своего пользователя, я должен просто отключить его, чтобы заставить его работать снова?

Спасибо, Будет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...