Eine ungesicherte oder falsch gesicherte Schuld wurde von der anderen Partei.(Beim arbeiten mit SAML )
Ich bin neu in WCF web service. derzeit arbeite ich an einem federated-web-service mit Verbund-Bindung(SAML) .Ich nahm Hilfe von MSDN-Beispiele auf 'SAML-Token-Anbieter'.aber das problem ist, dass ich nicht in der Lage zu konsumieren, der service ,wenn ich es nutzen, es wirft "Einem ungesicherten oder falsch gesicherten Schuld war von der anderen Partei erhaltenen" mit Ausnahme-wie "Ein Fehler ist aufgetreten bei der Bearbeitung der security Token in die Nachricht."
dies ist meine web-config-Datei auf server-Seite
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.serviceModel>
<bindings>
<wsFederationHttpBinding>
<binding name="Binding1">
<security mode="Message" >
<message negotiateServiceCredential ="false" issuedKeyType ="AsymmetricKey"
issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1">
</message>
</security>
</binding>
<!-- Binding that expect SAML tokens with Asymmetric proof keys -->
<binding name="Binding2">
<security mode="Message">
<message negotiateServiceCredential ="false"
issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1">
</message>
</security>
</binding>
</wsFederationHttpBinding>
</bindings>
<services>
<!--<service name="MobileInterfaceWCFService.MobileService" behaviorConfiguration="MobileInterfacebehavior">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basic_http" contract="MobileInterfaceWCFService.IMobileInterface" />
</service>
<service name ="MobileInterfaceWCFService.MobileService" behaviorConfiguration="MobileInterfaceWCFService.Service1Behavior">
<endpoint address="" binding="wsHttpBinding" contract="MobileInterfaceWCFService.IMobileInterface" bindingName="wsHttpBinding_ITMNetWCFService_ITMMobileSharedWebService" bindingConfiguration="wsHttpBinding_ITMNetWCFService_ITMMobileSharedWebService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</service> -->
<service name ="MobileInterfaceWCFService.MobileService" behaviorConfiguration="MobileInterfaceWCFService.SamlTokenBehavior">
<endpoint address="" binding="wsFederationHttpBinding" contract="MobileInterfaceWCFService.IMobileInterface" bindingName="Binding1" bindingConfiguration="Binding1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</service>
</services>
<client>
<endpoint address="http://host-root/MobileSharedWebService/MobileSharedWebService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_ITMNetWCFService_ITMMobileSharedWebService" contract="ServiceReference1.ITMMobileSharedWebService" name="wsHttpBinding_ITMNetWCFService_ITMMobileSharedWebService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
</client>
<behaviors>
<serviceBehaviors>
<behavior name="MobileInterfacebehavior">
<!--<serviceMetadata httpGetEnabled="true" />-->
</behavior>
<behavior name="MobileInterfaceWCFService.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<!-- <serviceMetadata httpGetEnabled="true"/> -->
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
<behavior name="MobileInterfaceWCFService.SamlTokenBehavior">
<serviceMetadata httpGetEnabled="true" />
<!--
The serviceCredentials behavior allows one to define a service certificate.
A service certificate is used by a client to authenticate the service and provide message protection.
This configuration references the "localhost" certificate installed during the setup instructions.
-->
<serviceCredentials>
<!-- Set allowUntrustedRsaIssuers to true to allow self-signed, asymmetric key based SAML tokens -->
<issuedTokenAuthentication allowUntrustedRsaIssuers ="false" >
<!-- Add Alice to the list of certs trusted to issue SAML tokens -->
<knownCertificates>
<add storeLocation="LocalMachine"
storeName="TrustedPeople"
x509FindType="FindBySubjectName"
findValue="Alice"/>
</knownCertificates>
</issuedTokenAuthentication>
<serviceCertificate storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName"
findValue="localhost" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers accessPolicy="Read, Script" />
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
<asp enableParentPaths="true" />
</system.webServer>
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "c:\log\Traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>
hier ist meine config Datei an Verbraucher Ende
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<wsFederationHttpBinding>
<binding name="Binding1_IMobileInterface" >
<security mode="Message">
<message issuedKeyType="AsymmetricKey" issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1"
negotiateServiceCredential="false" >
</message>
</security>
</binding>
</wsFederationHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/WCF_MobileInterface/MobileService.svc"
binding="wsFederationHttpBinding" bindingConfiguration="Binding1_IMobileInterface"
contract="ServiceReference1.IMobileInterface" name="Binding1_IMobileInterface">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
Hinweis: ich habe versucht, alle Lösungen bezogen sich auf dieselbe Art von Fehler/problem auf stackoverflow sowie auf google, aber nicht in der Lage war, das problem zu beheben
Die schnelle Hilfe wird dankbar sein
vielen Dank im Voraus
InformationsquelleAutor dreamweiver | 2013-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich beschlossen haben, die Fehler, die ich oben schon erwähnt hatte.Ich hatte zu fügen folgenden tag unter meiner
wsfederationbinding
uri erwähnt in allowedAudienceuri Attribut ist der host WCF-Dienst.
Eigentlich bekam ich zu wissen, das war der Fehler, wenn ich Hinzugefügt die folgende tag-zu-host WCF-Dienst ist web-config-Datei(),
unter Verhalten-tag, das war die Zuordnung zu meiner wsfederationbinding,dieser tag protokolliert die genaue Fehlermeldung innerhalb der Anwendung melden Sie Kategorie im system der eventviewer.
Hinweis: ich hatte aktiviert die Ablaufverfolgung auf dem server-und consumer-level, die es nicht geben genaue Fehlermeldung.aber ich fand das Problem durch die überprüfung der Fehlerprotokolle in der Ereignisanzeige
hoffe, dies hilft jemand, der kämpft mit ähnlichen Art von Fehler.
<allowedAudienceUris>
zum token Hinzugefügt, Ausstellung service (STS) oder der service gesichert wurde durch die STS? Ich bin wirklich kämpfen mit einem ähnlichen Problem und kann nicht viel voran, da mein logging-Staaten die Authentifizierung war erfolgreich. stackoverflow.com/questions/20378081/...Abschnitt wurde Hinzugefügt token Ausstellung service(STS) und der host-Dienst hat damit nichts zu tun. STS ist der gateway für den Ziel-Service, wenn Sie den gateway-Dienst oder STS ist richtig konfiguriert, dann werden die Ziel-service kann problemlos konsumiert werden, die von der Client-app.
Wenn dieser Teil weggelassen wird, übernimmt 'alle' sind erlaubt? Bedeutung, Verwendung und es erstellt eine 'whitelist' Betrieb? Ich hatte eine harte Zeit erzählen von der MSDN-Dokumentation.
<allowedAudienceUris>
- tag wird verwendet, um anzugeben, welche alle host-Dienste sind zugänglich, indem Sie die auf SAML-token-Service, es ist nicht eine whitelist für die client-urls. Sie müssen nur Ihre host - /Ziel-service, die u verfügbar machen möchten für alle Kunden.InformationsquelleAutor dreamweiver