У меня есть система, которая работает в течение года довольно счастливо. Недавно клиент переименовал некоторые учетные записи пользователей в 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)
Могу ли я в любом случае обеспечить некоторую безопасность в системе, или, учитывая, что они не будут "отменять" переименование своего пользователя, я должен просто отключить его, чтобы заставить его работать снова?
Спасибо,
Будет