Ich versuche definiert XACML Richtlinien zu testen, in WSO2 durch WSO2 API-Manager, wie in dem folgenden Link erklärteWSO2APIM Nachricht Mediation - API-Aufruf blockiert
https://docs.wso2.com/display/AM210/Enabling+Role-Based+Access+Control+Using+XACML
Die Politik validiert wird immer und ich kann Sehen Sie sich die "Permit" -Entscheidung in den Protokollen an, aber der API-Manager gibt keine Antwort zurück, und der Aufruf wird blockiert und die Anforderung wird nach einiger Zeit beendet.
DEBUG - EntitlementMediator Entitlement Decision is : Permit
DEBUG - EntitlementMediator User is authorized to perform the action
DEBUG - EntitlementMediator OnAccept sequence is not defined.
INFO - SourceHandler Writer null when calling informWriterError
WARN - SourceHandler Connection time out after request is read: http-incoming-19 Socket Timeout : 60000 Remote Address : /0:0:0:0:0:0:0:1:63398
WARN - TimeoutHandler Expiring message ID : urn:uuid:045f7259-cc8b-46a7-b9a2-832429163531; dropping message after GLOBAL_TIMEOUT of : 120 seconds for Endpoint
Einfügen die Nachricht Mediationsrichtliniendatei
<sequence xmlns="http://ws.apache.org/ns/synapse" name="EM"> <entitlementService xmlns="http://ws.apache.org/ns/synapse" remoteServiceUrl="https://localhost:9443/services" remoteServiceUserName="admin" remoteServicePassword="admin" callbackClass="org.wso2.sample.handlers.entitlement.APIEntitlementCallbackHandler">
<onReject>
<makefault version="soap12">
<code xmlns:soap12Env="http://www.w3.org/2003/05/soap-envelope"
value="soap12Env:Receiver"/>
<reason value="UNAUTHORIZED"/>
<node/>
<role/>
<detail>XACML Authorization Failed</detail>
</makefault>
<respond/>
</onReject>
<onAccept>
<log level="trace" xmlns="http://ws.apache.org/ns/synapse"/>
<send>
<endpoint>
<address uri="http://localhost:8080"/>
</endpoint>
</send>
</onAccept>
<obligations/>
<advice/>
</entitlementService>
</sequence>
Wenn ich nur in OnAccept reagieren, statt send, der Anruf kehrt sofort, aber meine Back-End-API nicht aufgerufen wird.
Fehle ich hier etwas?
Danke, Albie Morken
Können Sie Ihre Synapse-Datei für diese API teilen sehen, dass? –
Aktualisiert die Nachrichtenvermittlung Policy-Datei –
beschlossen, WSO2-API-Manager zu umgehen, da es nicht wie erwartet funktioniert –