Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
Hi Ralf-Rene Schröder, Ralf-Rene Schröder wrote: > } catch(SoapFault $e) { > // hier komm ich gar nicht mehr hin ??? > echo 'Exception abgefangen: ', $e->getMessage(), ""; > } > return $this->handleWebserviceResponse($response); > } > > Wie kann ICH hier erreichen das nur erfolgreiche LoginRequests das > $response füllen, und beim Fehler ein FALSE weiter gegeben wird, aber > schon die prüfung auf ein $respons wirft natürlich schon den Fehler wenn > das PW falsch ist... > Irgend wie drehe ich mich hier im Kreis (die Katze und ihr Schwanz)... Eventuell wird eine andere Art von Exception geworfen? Versuche es mal mit \Exception oder \RuntimeException. Ggf. auch mal testen, ob nicht auch ein Error geworfen wird, dass ist dann noch etwas anderes. Allerdings sieht es eher so aus, als wenn du beim Verwenden des Soap Servers noch Fehler machst. Eingentlich sollten Exceptions im normalen Betrieb nicht auftreten. Grüße -- Philipp Gampe – PGP-Key 0AD96065 – LFCS TYPO3 CMS Certified Integrator – Certified Developer – Active contributor TYPO3 ... inspiring people to share! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
mittlerweile läuft der extende AuthService mit richtigen Daten sauber, aber bei Fehlversuchen mit z.B. falschem namen oder PW gibt es keine Weiterleitung zum Anmeldefehler, sondern folgende TYPO3 Exeption... (und die scheinbar vom externen system) Uncaught TYPO3 Exception System.Web.Services.Protocols.SoapException: Der Server konnte die Anforderung nicht verarbeiten. ---> System.InvalidOperationException: Ungültiger Leseversuch, wenn keine Daten vorhanden sind. at System.Data.SqlClient.SqlDataReader.PrepareRecord(Int32 i) at System.Data.SqlClient.SqlDataReader.GetValue(Int32 i) at System.Data.SqlClient.SqlDataReader.get_Item(String name) at CVWebService.cbrauthenticate.Login(LoginRequest req) in c:\inetpub\wwwroot\CVWebService\cbrauthenticate.asmx.vb:line 79 --- Ende der internen Ausnahmestapelüberwachung --- das hier ist mein entsprechende Teil in meinem Authservice dazu: public function getUserFromWebservice($username, $password) { try { $soapclient = new \SoapClient('http://mv.extern.de/CVWebService/v01/cbrauthenticate.asmx?WSDL', array('trace' => 0, 'classmap' => array('LoginRequest' => "LoginRequest"))); $loginRequest = new LoginRequest(); $loginRequest->Username = $username; $loginRequest->Password = $password; // in der folgenden Zeile wird der Fehler geworfen !!! $response = $soapclient->Login(array("req" => $loginRequest)); } catch(SoapFault $e) { // hier komm ich gar nicht mehr hin ??? echo 'Exception abgefangen: ', $e->getMessage(), ""; } return $this->handleWebserviceResponse($response); } Wie kann ICH hier erreichen das nur erfolgreiche LoginRequests das $response füllen, und beim Fehler ein FALSE weiter gegeben wird, aber schon die prüfung auf ein $respons wirft natürlich schon den Fehler wenn das PW falsch ist... Irgend wie drehe ich mich hier im Kreis (die Katze und ihr Schwanz)... -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
Am 14.03.2017 um 08:47 schrieb Michael Stein: > new SoapClient() erstellte eine neue Instanz im aktuellen Namespace. > richtig ist also new \SoapClient() das hat schon mal grundsätzlich geholfen... DANKE nun geht's aber ans Eingemachte (ein Bereich in dem ich eigentlich keine Ahnung habe)... jetzt ist es folgender Fehler: Uncaught TYPO3 Exception System.Web.Services.Protocols.SoapException: Der Server konnte die Anforderung nicht verarbeiten. ---> System.InvalidOperationException: Ungültiger Leseversuch, wenn keine Daten vorhanden sind. at System.Data.SqlClient.SqlDataReader.PrepareRecord(Int32 i) at System.Data.SqlClient.SqlDataReader.GetValue(Int32 i) at System.Data.SqlClient.SqlDataReader.get_Item(String name) at CVWebService.cbrauthenticate.Login(LoginRequest req) in c:\inetpub\wwwroot\CVWebService\cbrauthenticate.asmx.vb:line 79 --- Ende der internen Ausnahmestapelüberwachung --- Ist hier vielleicht jemand für den ein solcher AuthService mit Soap nichts ungewöhnliches ist, und der mir mal 1-2 Stunden bezahlt zur Seite stehen kann (bitte PM ralf.r...@image-format.eu) ??? Oder gibt es einen simplen Tipp wie es weiter geht? -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
Hi Ralf-Rene, du bist mit namespaces unterwegs. Achte auf die Fehlermeldung: Class 'ImF\Cartellverband\Service\SoapClient' not found in new SoapClient() erstellte eine neue Instanz im aktuellen Namespace. richtig ist also new \SoapClient() Liebe Grüße Michael On Tue, 14 Mar 2017 03:05:37 +0100, Ralf-Rene Schröder wrote: > Am 14.03.2017 um 02:38 schrieb Ralf-Rene Schröder: >> Am 14.03.2017 um 02:30 schrieb Ralf-Rene Schröder: >>> die Fehlermeldung ist zwar jetzt weg (war scheinbar eine falsche >>> Initialisierung in der ext_localconf.php), aber angelegt wird der >>> abgefragte User trotzdem nicht... hier mal der komplette neue >>> AuthService für 7.6 ... vielleicht sieht ja jemand meinen Fehler: >>> http://pastebin.com/VhKkZyP1 > nach Korrektur in: 'subtype' => 'getUserFE, authUserFE', > wird jetzt der Service wieder abgearbeitet ABER liefert mir wieder den > Fehler: Class 'ImF\Cartellverband\Service\SoapClient' not found > > hat jemand da ein Konfigurationsbeispiel für TYPO3 7 LTS > > >>> Am 14.03.2017 um 01:19 schrieb Ralf-Rene Schröder: ich versuche gerade eine auf 4.5 schon länger laufende externe Autentifizierung für TYPO3 7 LTS umzusetzen... >> >> der Vollständigkeit halber noch die initialisierung in der >> ext_localconf.php // auth service >> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService( >> $_EXTKEY, 'auth', 'AuthService', >> array( >> 'title' => 'Authentication service', >> 'description' => 'Authentication Lookup.', >> 'subtype' => 'getUser, authUser', >> 'available' => true, >> 'priority' => 60, >> 'quality' => 60, >> 'os' => '', >> 'exec' => '', >> 'className' => 'ImF\\Cartellverband\\Service\\AuthService', >> ) >> ); >> >> und falls jemand die richtige URL für die SOAP Abfrage und Dummydaten >> braucht, dann schicke ich sie gerne per PM... DANKE für die Hilfe... ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
Am 14.03.2017 um 02:38 schrieb Ralf-Rene Schröder: > Am 14.03.2017 um 02:30 schrieb Ralf-Rene Schröder: >> die Fehlermeldung ist zwar jetzt weg (war scheinbar eine falsche >> Initialisierung in der ext_localconf.php), aber angelegt wird der >> abgefragte User trotzdem nicht... hier mal der komplette neue >> AuthService für 7.6 ... vielleicht sieht ja jemand meinen Fehler: >> http://pastebin.com/VhKkZyP1 nach Korrektur in: 'subtype' => 'getUserFE, authUserFE', wird jetzt der Service wieder abgearbeitet ABER liefert mir wieder den Fehler: Class 'ImF\Cartellverband\Service\SoapClient' not found hat jemand da ein Konfigurationsbeispiel für TYPO3 7 LTS >> Am 14.03.2017 um 01:19 schrieb Ralf-Rene Schröder: >>> ich versuche gerade eine auf 4.5 schon länger laufende externe >>> Autentifizierung für TYPO3 7 LTS umzusetzen... > > der Vollständigkeit halber noch die initialisierung in der ext_localconf.php > // auth service > \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService( > $_EXTKEY, > 'auth', > 'AuthService', > array( > 'title' => 'Authentication service', > 'description' => 'Authentication Lookup.', > 'subtype' => 'getUser, authUser', > 'available' => true, > 'priority' => 60, > 'quality' => 60, > 'os' => '', > 'exec' => '', > 'className' => 'ImF\\Cartellverband\\Service\\AuthService', > ) > ); > > und falls jemand die richtige URL für die SOAP Abfrage und Dummydaten > braucht, dann schicke ich sie gerne per PM... DANKE für die Hilfe... -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
Am 14.03.2017 um 02:30 schrieb Ralf-Rene Schröder: > die Fehlermeldung ist zwar jetzt weg (war scheinbar eine falsche > Initialisierung in der ext_localconf.php), aber angelegt wird der > abgefragte User trotzdem nicht... hier mal der komplette neue > AuthService für 7.6 ... vielleicht sieht ja jemand meinen Fehler: > http://pastebin.com/VhKkZyP1 > > Am 14.03.2017 um 01:19 schrieb Ralf-Rene Schröder: >> ich versuche gerade eine auf 4.5 schon länger laufende externe >> Autentifizierung für TYPO3 7 LTS umzusetzen... der Vollständigkeit halber noch die initialisierung in der ext_localconf.php // auth service \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService( $_EXTKEY, 'auth', 'AuthService', array( 'title' => 'Authentication service', 'description' => 'Authentication Lookup.', 'subtype' => 'getUser, authUser', 'available' => true, 'priority' => 90, 'quality' => 90, 'os' => '', 'exec' => '', 'className' => 'ImF\\Cartellverband\\Service\\AuthService', ) ); und falls jemand die richtige URL für die SOAP Abfrage und Dummydaten braucht, dann schicke ich sie gerne per PM... DANKE für die Hilfe... -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
die Fehlermeldung ist zwar jetzt weg (war scheinbar eine falsche Initialisierung in der ext_localconf.php), aber angelegt wird der abgefragte User trotzdem nicht... hier mal der komplette neue AuthService für 7.6 ... vielleicht sieht ja jemand meinen Fehler: http://pastebin.com/VhKkZyP1 Am 14.03.2017 um 01:19 schrieb Ralf-Rene Schröder: > ich versuche gerade eine auf 4.5 schon länger laufende externe > Autentifizierung für TYPO3 7 LTS umzusetzen... -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung
ich versuche gerade eine auf 4.5 schon länger laufende externe Autentifizierung für TYPO3 7 LTS umzusetzen... bisher war es dieser Code in dem AuthService: ... function getUserFromWebservice($username, $password) { try { // connect // SET SOCKET TIMEOUT ini_set('default_socket_timeout', 10); $soapclient = new SoapClient('http://domain/path/cbrauthenticate.asmx?WSDL', array('trace' => 0, 'classmap' => array('LoginRequest' => "LoginRequest"))); // construct data $lr = new LoginRequest(); $lr->Username = $username; $lr->Password = $password; $response = $soapclient->Login(array("req" => $lr)); } catch(SoapFault $e) { //echo 'Exception abgefangen: ', $e->getMessage(), ""; } //handle response ini_restore('default_socket_timeout'); return $this->handleWebserviceResponse($response); } function handleWebserviceResponse($responseObject) { if($responseObject->LoginResult->ErrorCode == 0) { return (array)$responseObject->LoginResult; } else { //some error handling may be done here return false; } } ... wenn ich das als public function {} in einen neuen eigenen AuthService integriere, dann bekomme ich bei Aufruf folgenden Fatal Error: Class 'ImF\Cartellverband\Service\SoapClient' not found in /.../typo3conf/ext/myext/Classes/Service/AuthService.php on line 57 Das ist die Zeile mit: $soapclient = new SoapClient(...) Muß ich den SoapClient erst noch installieren/aktivieren/konfigurieren, oder was besagt der ausgegebene Fehler ??? -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german