Re: [TYPO3-german] eigenen AuthService gegen eine externe Soap authentifizierung

2017-03-21 Diskussionsfäden Philipp Gampe
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

2017-03-20 Diskussionsfäden Ralf-Rene Schröder
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

2017-03-14 Diskussionsfäden Ralf-Rene Schröder
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

2017-03-14 Diskussionsfäden Michael Stein
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

2017-03-13 Diskussionsfäden Ralf-Rene Schröder
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

2017-03-13 Diskussionsfäden 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
> 
> 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

2017-03-13 Diskussionsfäden 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...

-- 
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

2017-03-13 Diskussionsfäden Ralf-Rene Schröder
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