Announcement

Collapse
No announcement yet.

NTLMv2 Einstellungen und CallBack WCF Anwendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • NTLMv2 Einstellungen und CallBack WCF Anwendung

    [edit = gfoidl] Siehe auch http://entwickler-forum.de/showthread.php?t=57378

    hallo


    die NTLMv2 Einstellung bei Server und Client hat es für die CallBack WCF Anwendung nichts gebracht. Der Server weist die Clientanmeldeinformationen zurück.
    Ich habe mit der Möglichkeit mit
    HTML Code:
    <userNameAuthentication userNamePasswordValidationMode="Windows" />
          <windowsAuthentication includeWindowsGroups="false" allowAnonymousLogons="true" />
    Es ist leider der Fehler nicht zu beheben.

    hier ist die gesamte Konfig nochmal:

    HTML Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="HallService.HalloService"
          behaviorConfiguration="HalloServiceBehaviors">
            <endpoint address="http://MyServerIP:9001"
            binding="wsDualHttpBinding"
            contract="Contracts.IHalloService"
            name="HalloService_HTTP"/>
            <endpoint address="net.tcp://MyServerIP:9002"
            binding="netTcpBinding"
            contract="Contracts.IHalloService"
            name="HalloService_TCP"/>
            <endpoint contract="IMetadataExchange"
            binding="mexHttpBinding"
            address="mex" />
            <host>
              <baseAddresses>
                <add baseAddress="http://MyServerIP:9000"/>
              </baseAddresses>
            </host>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="HalloServiceBehaviors">
              <serviceMetadata httpGetEnabled="true" />
              <serviceCredentials>
    
                <userNameAuthentication userNamePasswordValidationMode="Windows" />
                <windowsAuthentication includeWindowsGroups="false" allowAnonymousLogons="true" />
              </serviceCredentials>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
    </configuration>
    HTML Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <bindings>
          <netTcpBinding>
            <binding name="HalloService_TCP"
    		closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false"
                transferMode="Buffered" transactionProtocol="OleTransactions"
                hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
                maxReceivedMessageSize="65536">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                  maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <reliableSession ordered="true" inactivityTimeout="00:10:00"
                  enabled="false" />
              <security mode="Transport">
                <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
                <message clientCredentialType="Windows" />
              </security>
            </binding>
          </netTcpBinding>
          <wsDualHttpBinding>
            <binding name="HalloService_HTTP"
                     clientBaseAddress="http://localhost:9909/"
                     closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
                transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                  maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <reliableSession ordered="true" inactivityTimeout="00:10:00" />
              <security mode="Message">
                <message clientCredentialType="Windows" negotiateServiceCredential="true"
                    algorithmSuite="Default" />
              </security>
            </binding>
          </wsDualHttpBinding>
        </bindings>
        <client>
          <endpoint address="http://myServerIP:9001/" binding="wsDualHttpBinding"
              bindingConfiguration="HalloService_HTTP" contract="ServiceReference.IHalloService"
              name="HalloService_HTTP">
            <identity>
              <userPrincipalName value="BURKUTPC\burkut" />
            </identity>
          </endpoint>
          <endpoint address="net.tcp://myServerIP:9002/" binding="netTcpBinding"
              bindingConfiguration="HalloService_TCP" contract="ServiceReference.IHalloService"
              name="HalloService_TCP">
            <identity>
              <userPrincipalName value="BURKUTPC\burkut" />
            </identity>
          </endpoint>
        </client>
      </system.serviceModel>
    </configuration>
    bitte um Tipps bzw. Lösungswege.

    vielen Dank.


    Burkut
    Zuletzt editiert von gfoidl; 08.09.2009, 18:40. Reason: Moderation

  • #2
    Hallo,

    ist es die gleiche Fehlermeldung?


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      ja.
      Code:
      hier sind deine Ausgaben:
      Inner Eception Message: Der Server hat die Clientanmeldeinformationen zurückgewi
      esen.
      Message: Der Server hat die Clientanmeldeinformationen zurückgewiesen.
      Sorce war: mscorlib
      Stacktrace:
      Server stack trace:
         bei System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.Windows
      StreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageP
      roperty& remoteSecurity)
         bei System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateU
      pgrade(Stream stream)
         bei System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(Stre
      amUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecod
      er decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeou
      tHelper)
         bei System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamb
      le(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper
      )
         bei System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConn
      ectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& t
      imeoutHelper)
         bei System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(Tim
      eSpan timeout)
         bei System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(Tim
      eSpan timeout)
         bei System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
         bei System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
         bei System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
      
      Exception rethrown at [0]:
         bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage re
      qMsg, IMessage retMsg)
         bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgD
      ata, Int32 type)
         bei System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout)
         bei System.ServiceModel.ClientBase`1.System.ServiceModel.ICommunicationObject
      .Open(TimeSpan timeout)
         bei System.ServiceModel.ClientBase`1.Open()
         bei Client.ClientProg.testMitKonfig() in C:\Dokumente und Einstellungen\NUSI\
      Eigene Dateien\Visual Studio 2008\Projects\WCF Projects\myWCFCallbackTest2\Clien
      t\ClientProg.cs:Zeile 39.
         bei Client.ClientProg.Main(String[] args) in C:\Dokumente und Einstellungen\N
      USI\Eigene Dateien\Visual Studio 2008\Projects\WCF Projects\myWCFCallbackTest2\C
      lient\ClientProg.cs:Zeile 15.
      TargetSite: Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage,
       System.Runtime.Remoting.Messaging.IMessage)

      Comment


      • #4
        Ntlm

        Hallo burkut,

        ich gehe davon aus, dass Du im LAN kommunizieren willst und nicht übers Internet.
        Befinden sich beide Computer in einer ActiveDirectory-Domäne?
        Befinden sich die betroffenen Benutzer in der selben Domäne bzw. welche Vertrauensstellungen existieren zwischen den Domänen?

        Oder ist vielleicht bei einem der Computer die Windows-Firewall an?

        NTLM oder Kerberos-Authentifizierung funktioniert nur innerhalb einer Windows-Domäne sinnvoll. Ist keine Windows-Domäne vorhanden, sollte man auf Klartext-Authenthifizierung oder Zertifikate (je nach Sicherheitsanforderung) umstellen.
        Zuletzt editiert von Rainbird; 10.09.2009, 08:27.
        Meine Forderung: Mehr Qualität bei der Softwareentwicklung!

        Comment


        • #5
          Originally posted by Rainbird View Post
          Hallo burkut,

          ich gehe davon aus, dass Du im LAN kommunizieren willst und nicht übers Internet.
          Befinden sich beide Computer in einer ActiveDirectory-Domäne?
          Befinden sich die betroffenen Benutzer in der selben Domäne bzw. welche Vertrauensstellungen existieren zwischen den Domänen?

          Oder ist vielleicht bei einem der Computer die Windows-Firewall an?

          NTLM oder Kerberos-Authentifizierung funktioniert nur innerhalb einer Windows-Domäne sinnvoll. Ist keine Windows-Domäne vorhanden, sollte man auf Klartext-Authenthifizierung oder Zertifikate (je nach Sicherheitsanforderung) umstellen.
          hallo Rainbird,

          Danke für die Tipps.
          Also nach meinem armen Wissen über Domäne(Also wenn ich mich nicht irre) kann ich sagen, wenn ich nur im windows XP unterwegs bin, ist von Domäne keine Rede sein. oder? lacht über mich nicht, wenn ich hier eine falsche Aussage mache. Vielleicht kann man mit Hilfe bestimmter Tools das realisieren...Ich weiss aber nicht, wie man das macht.

          Ausserdem sollte für meine kleine WCF Anwendung so viel Aufwand nicht nötig sein. oder? Ich wundere mich, wie die Leute solche kleine WCF Duplex Anwendungen im Internet getestet haben. Vielleicht habe sie dabei kein Probleme gehabt oder bin ich so doom, dass ich so eine kleine Problemchen nicht lösen kann. Unglücklicherweisse sind überrall die Beispiele für lokale Anwendungen zu finden. Das ist mir sehr komisch. Ich glaube nicht, dass Keine daran Interresse haben würde.....


          Was firewall betrifft, habe ich auch so unter ausgeschaltene Windows - Firewalls in beiden PCs versucht. Dazu noch alle Ports, die im Programm verwendet habe, in beiden PCs freigeschaltet. Kein Erfolg!!!!!

          Da ich unter Windows XP auch nicht die beiden Rechner in einer gleicher Windows - Domäne bringen kann, ist Jetzt noch die Option mit Zertifikaten zu testen. Aber ich weiss nicht, wie man das macht? Ein Beispiel für so was wäre vielleicht sehr hilfreich.

          Ich bitte noch weitere Hilfe. Danke.

          Gruss

          Burkut

          Comment

          Working...
          X