Laden...

WSE3: Problem mit AuthenticateToken

Erstellt von haudi vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.188 Views
H
haudi Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren
WSE3: Problem mit AuthenticateToken

Hallo, ich wollte nach diesem Beispiel:
http://www.codeproject.com/soap/WSE30UsernameAssertion.asp
meinen WebService absichern und einen Custom UsernameTokenManager schreiben. Das Problem ist nun, dass die überschriebene "AuthenticateToken" Methode nicht ausgeführt wird, sondern immer die Standardmethode. Kann man irgendwie erzwingen, dass er den Custom UsernameTokenManager benutzt?

Danke
H.

S
8.746 Beiträge seit 2005
vor 17 Jahren

Ich würde dir empfehlen, gleich auf WCF umzusteigen. WSE-Code ist nicht .NET 3.0 kompatibel. Und WCF läuft auch unter 2.0.

R
494 Beiträge seit 2006
vor 17 Jahren

Original von svenson
Ich würde dir empfehlen, gleich auf WCF umzusteigen. WSE-Code ist nicht .NET 3.0 kompatibel. Und WCF läuft auch unter 2.0.

Heißt das ich kann WCF auch unter Windows 2000 (Client) nutzen? Weil, so wie ich das verstanden habe, .NET 3.0 nicht unterstützt wird.

H
haudi Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

Ich hab erst versucht meine alte WebService Anwendung umzubauen auf WCF, aber das geht nicht so leicht (ist kein simpler WebService). Und WSE 3.0 ist schon kompatibel zu WCF (WCF clients können ASMX / WSE 3 Services aufrufen und umgekehrt). .NET 3 ist ja auch nur ein erweitertes .NET 2!
Also würde ich gern dieses WSE Beispiel nutzen, was ja auch clientseitig ganz gut läuft. Nur wenn er serverseitig verschlüsseln soll, gibt es diesen Fehler. Anscheinend liest er garnicht die app.config des Clients aus, in der der ClientUsernameTokenManager angegeben ist:

Auszug app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!-- Register WSE section -->
<section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="MyApp.ServiceAccessLayer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<!-- WSE 3.0 settings -->
<microsoft.web.services3>
<diagnostics>
<trace enabled="true" input="InputTrace.webinfo" output="OutputTrace.webinfo" />
</diagnostics>
<security>
<securityTokenManager>
<add type="ClientUsernameTokenManager" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken" />
</securityTokenManager>
</security>

</microsoft.web.services3>
<applicationSettings>
<MyApp.ServiceAccessLayer.Properties.Settings>
<setting name="MyApp_ServiceAccessLayer_WebService_MyAppServiceImplementation"
serializeAs="String">
<value>http://localhost:1415/MyWS/Service.asmx</value>
</setting>
</MyApp.ServiceAccessLayer.Properties.Settings>
</applicationSettings>
</configuration>

S
8.746 Beiträge seit 2005
vor 17 Jahren

Original von regen
Heißt das ich kann WCF auch unter Windows 2000 (Client) nutzen? Weil, so wie ich das verstanden habe, .NET 3.0 nicht unterstützt wird.

WSE 3.0 ist mit WCF "binärkompatibel". D.h. du kannst WSE 3.0-Clients unter Win2000 mit einem WCF-Server (der bekanntlich nur ab XP SP2 bzw. Win2003 Server läuft) verbinden.