-
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
-
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
-
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
-
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.
-
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
-
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
-
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
-
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>
-
 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
-
Sagte ich das nicht bereits ?
-
Moin,
huch hast Recht. Man sollte vielleicht von oben anfangen zu lesen , aber dann verstehe ich das Problem hier wohl nicht.
-
Das Problem liegt wohl daran, dass bereits eine Verbindung (nämlich zum Lesen von Daten) mit einem "internen" Profil existiert.
Aber was hindert ein Programm denn daran eine 2. Verbindung aufzubauen, die dann wieder getrennt wird ?
Similar Threads
-
By schatte in forum NEWSboard Linux
Antworten: 12
Letzter Beitrag: 29-01-08, 14:02
-
By marmart in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 25-09-07, 15:29
-
By schatte in forum NEWSboard Windows
Antworten: 7
Letzter Beitrag: 21-11-06, 11:37
-
By pwrdwnsys in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-11-06, 15:34
-
By cami in forum IBM i Hauptforum
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks