[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Oct 2005
    Beiträge
    29

    Question Zugriff auf Benutzerdatenbank von außerhalb

    Neuling braucht Hilfe... ;-)

    Ich habe eigentlich absolut keine Ahnung von AS400, soll aber eine Intranetseite mit dem CMS TYPO3 erstellen und dabei am besten eine Authentifizierung mit der AS400 Benutzerdatenbank druchführen. Für Single Sign On, da aus dem Intranet auch mehrere Anwendungen gestartet werden können wo man sich nicht mehr einloggen soll.

    Ein Ansatz wäre LDAP, leider bekomme ich das mit den vorhanden Extensions von TYPO3 nicht hin, da ich zwar zum LDAP Server verbinden kann, die Anzahl der Benutzer auch sehe, nur lassen sie sich nicht importieren. Bei vielen anderen Usern klappt das ganz gut mit OpenLDAP oder so, deshalb vermute ich das es an der AS400 liegt. Hat da einer eine Idee?

    Oder kennt jemand andere Möglichkeiten das zu realisieren. Also praktisch ein Benutzer meldet sich im Intranet mit seinem Usernamen und Passwort an und kann aus dem Intranet diverse Anwendungen starten, diese benötigen bis jetzt jedesmal eine extra Anmeldung. Das soll in Zukunft automatisch passieren. Evtl. wäre es sogar schön wenn man sich automatisch am Intranet mit seinem Windows Usernamen und Passwort anmelden könnte. Kann mir da jemand Lösungsansätze liefern? Das wäre echt klasse.

    Mit freundlichen Grüßen

    Niko Will

  2. #2
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Wu-Mc,

    wir sind auch gerade dabei mit TYPO3 unseren Internet-Auftritt neu zu erstellen und benötigen dazu auch Daten von iSeries-Datenbanken. Für den Zugriff habe ich PHP installiert, da TYPO3 ja in erster Linie mit PHP zusammenarbeitet. In PHP funktioniert der Zugriff auf die iSeries über ODBC. Du musst dann im Prinzip doch einfach nur für die ODBC-Verbindung den Benutzer und das Passwort übergeben.

    Gruß,
    KM

  3. #3
    Registriert seit
    Oct 2005
    Beiträge
    29
    Hallo KM,

    kann ich so dann auch Sachen wie Telefonnummer eines Users abfragen?

    Das nächste Problem ist dann die Anwendungen aus dem Intranet aus zu starten, die bis jetzt einen extra login erfordern. Ist dies möglich über PHP und die ODBC Authentifizierung möglich? Muss dazu die Anmeldung der Anwendung umgeschrieben werden?

    Vielen Dank für deine Antwort.

    Mit freundlichen Grüßen

    Niko Will

  4. #4
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Niko,

    im Prinzip kannst Du über PHP (bzw. die ODBC-Schnittstelle) ja einen SQL Call durchführen, der wiederum ein Programm oder eine Stored Procedure auf der iSeries aufruft. Ich würde halt auf der iSeries ein kleines Programm (CL oder RPG) schreiben, das dort dann die ganze Steuerung übernimmt. Diesem Programm solltest Du die nötigen Parameter von Deiner PHP-Datei aus mit übergeben.

    Gruß,
    KM

  5. #5
    Registriert seit
    Oct 2005
    Beiträge
    29
    Hallo KM,

    dieser Ansatz gefällt mir bisher ganz gut, nur kenne ich mich mit RPG (bzw. wird das glaub bei uns schon mit Java gemacht) nicht aus. Deshalb warte ich mal noch auf unseren Spezialisiten hier.

    Aber ich habe dazu gleich nochmal ne Frage und zwar werden auf unseren Servern die Benutzer bis jetzt nicht in Active Directorys gespeichert sondern irgendwie anders. Also wenn ich im iSeries Navigator auf Benutzer und Gruppen gehe sehe ich alle, aber auf diese kann ich ja nicht über LDAP zugreifen, kann das sein?
    Ist es möglich dann über einen SQL Call diese direkt ab zu fragen oder muss ich die dann erst in ein Active Directory verpflanzen?

    Mit freundlichen Grüßen

    Niko Will

  6. #6
    Registriert seit
    Oct 2005
    Beiträge
    29
    Hallo KM,

    einer unserer Spezialisten meint das es nicht möglich ist über ODBC ein Benutzernamen und Passwort abzufragen wegen des Sicherheitsmanagments und da die Benutzernamen verschlüsselt gespeichert werden ist es auch nicht möglich per SQL Befehl den eingegebenen Benutzernamen und das Passwort mit der DB der AS400 zu vergleichen.

    Schade, wäre auch zu schön gewesen.

    Gruß

    Niko Will

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Per SQL den Benutzer und das Kennwort abzugleichen geht doch indirekt.
    Wenn eine Verbindung (Connection) zur AS400 aufgebaut wird, muss man sich doch anmelden.
    Schlägt die Anmeldung fehl, stimmen Benutzer und Kennwort nicht.
    In der Verbindung können Benutzer und Kennwort ja vorgegeben werden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Oct 2005
    Beiträge
    29
    Hallo Fuerchau,

    naja gut, das mag schon stimmen, jedoch kann ich die Anmeldung an der AS400 nicht einfach in ein PHP Skript einbinden und dann auch noch Benutzergruppen etc. auslesen. Und ein abgleich über ODBC geht nicht weil die Passwörter verschlüsselt hinterliegen und somit nicht mit einem Passwort im Klartext verglichen werden können.

    Weitere Recherchen haben schon ergeben das LDAP wahrscheinlich die bessere alternative wäre. Nur muss ich das jetzt erst zum laufen kriegen.

    Kennt jemand ein gutes Tutorial oder ähnliches von IBM bzw. das sich mit iSeries beschäftigt? Bei IBM developerWorks bekomm ich immer nur Sachen für Domino usw. mit denen ich nicht viel anfangen kann.

    Weil es wäre ja schonmal was wenn ich die vorhandene Gruppen und Benutzer LDAP konform portieren könnte. Des Weiteren habe ich das Gefühl das es nur ein minimales Problem ist warum die Verbindung zwischen TYPO3 und dem LDAP Server nicht klappt bzw. die Verbindung klappt einwandfrei, nur die Abfrage nicht.

    Mit freundlichen Grüßen

    Niko Will

  9. #9
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Niko,

    also irgendwie hab ich Dein Problem noch nicht so ganz verstanden. Wenn Dein Benutzer sich im Intranet anmeldet, gibt er doch sicher in irgendwelchen Form-Feldern (HTML bzw. PHP) seinen Benutzernamen und Kennwort ein. Warum bindest Du diese beiden Felder dann nicht auch in die ODBC-Connection ein ? Wenn Benutzer und Kennwort korrekt sind, funktioniert dann die Anmeldung, ansonsten wird sie zurückgewiesen.

    Gruß,
    KM

  10. #10
    Registriert seit
    Oct 2005
    Beiträge
    29
    Hallo KM,

    ja du hast es schon richtig verstanden. Allerdings meinten unsere Spezialisten hier das das nicht funktionieren würde. Denn wenn ich dich richtig verstanden habe dann meinst du einfach über ODBC den Benutzernamen und das Passwort zu vergleichen. Das soll aber anscheinend nicht funktionieren, da du mit ODBC ja nur Datenbankzellen vergleichen kannst und das Passwort wird auf der AS400 verschlüsselt hinterlegt, also kann die Zelle nicht mit einem Klartextpasswort verglichen werden. So sagten es mir zumindest die Profis bei uns...

    Mit freundlichen Grüßen

    Niko Will

  11. #11
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Niko,

    also bevor wir jetzt völlig aneinander vorbeireden, schicke ich Dir mal ein Beispiel wie ich von einer PHP-Datei über ODBC auf unsere iSeries zugreife und mir Daten raushole. Vielleicht wird dann einiges klarer. Beim odbc_connect musst Du dann einfach nur den Hostnamen, den Benutzer und das Kennwort (im Klartext) mitgeben. Diese Informationen hast Du ja schon durch Deine Intranet-Anmeldung.

    <html>
    <body>
    <?php
    $conn=odbc_connect('HOST','Benutzer','Kennwort');
    if (!$conn)
    {
    exit("Connection Failed: " . $conn);
    } $sql="SELECT * FROM LIB.DATEI where TSARTN like '305%'";
    $rs=odbc_exec($conn,$sql);
    if (!$rs)
    { exit("Error in SQL");
    }
    echo '<table><tr>';
    echo '<th align="left" width=150>Artikelnummer</th>';
    echo '<th align="left" width=300>Produktname</th>';
    echo '<th align="right" width=100>Gesamtbestand</th>';
    echo '<th align="right" width=100>verfügbar</th></tr>';
    while (odbc_fetch_row($rs))
    {$TSARTN=odbc_result($rs,"TSARTN");
    $TSBEZG=odbc_result($rs,"TSBEZG");
    $TSLBST=odbc_result($rs,"TSLBST");
    $TSVBES=odbc_result($rs,"TSVBES");
    echo '<tr><td align="left" width=150>'.$TSARTN.'</td>';
    echo '<td align="left" width=300>'.$TSBEZG.'</td>';
    echo '<td align="right" width=100>'.number_format($TSLBST, 0).'</td>';
    echo '<td align="right" width=100>'.number_format($TSVBES, 0).'</td>';}
    odbc_close($conn);
    echo "</table>";?>
    </body>
    </html>

  12. #12
    Registriert seit
    Apr 2002
    Beiträge
    792
    Zitat Zitat von Wu-mc
    Hallo KM,

    ja du hast es schon richtig verstanden. Allerdings meinten unsere Spezialisten hier das das nicht funktionieren würde. Denn wenn ich dich richtig verstanden habe dann meinst du einfach über ODBC den Benutzernamen und das Passwort zu vergleichen. Das soll aber anscheinend nicht funktionieren, da du mit ODBC ja nur Datenbankzellen vergleichen kannst und das Passwort wird auf der AS400 verschlüsselt hinterlegt, also kann die Zelle nicht mit einem Klartextpasswort verglichen werden. So sagten es mir zumindest die Profis bei uns...

    Mit freundlichen Grüßen

    Niko Will
    Moin,

    ich kenne mich mit PHP zwar nicht aus aber du musst ja nicht selbst auf die "Benutzerdatenbank" zugreifen. Sondern übergibst im Connect den User und das Passwort. Wenn kein Fehler zurück kommt, stimmen die Angaben sonst halt nicht. Wo ist das Problem?

    Gruß

    Sascha

Similar Threads

  1. Kein Zugriff von Linux auf AS/400 Freigabe?
    By schatte in forum NEWSboard Linux
    Antworten: 12
    Letzter Beitrag: 29-01-08, 14:02
  2. Kein Zugriff über QNTC auf Win-Share
    By marmart in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 25-09-07, 15:29
  3. Nachricht CPDB053 beim Zugriff auf Windows Freigabe
    By schatte in forum NEWSboard Windows
    Antworten: 7
    Letzter Beitrag: 21-11-06, 11:37
  4. QNTC Zugriff auf CD Laufwerk Fehlerhaft
    By pwrdwnsys in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-11-06, 15:34
  5. Antworten: 3
    Letzter Beitrag: 27-08-06, 17:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •