Lieber eddi,
vielen herzlichen Dank für Deine umfangreichen Bemühungen. Ich bin so glücklich, hier im Forum solche Unterstützung zu erfahren!!
neben Glückwünschen, wieder etwas weitergekommen zu sein,
Hihihihi, das tut in der Tat gut! :-)
clntrust und ncl_tray sorgen für ein Login Am NetWare-Server, der die Internetverbingunen regelt.
Jein. Nach meinen Recherchen regelt ncl_tray nichts, sondern bietet nur Zugriff auf das Login bzw. Logout Script via Icon im Tray. Diese Scripts wiederum regeln den Login (-out) - aber das ist ja auch vollkommen Schnuppe. Bei erfolgreichem Login werde ich mit Resourcen ("Netzlaufwerken") beglückt, die in meinem Home gemountet werden. Von Internet ist da keine Spur!
Selbst wenn ich meinen Browser auf den Proxy des BorderManagers eingerichtet habe, verweigert der mir jeglichen Zugang nach "draußen", da er von der Anmeldung über das Loginscript (genauen Namen müsste ich jetzt nachschlagen) nichts mitbekommt. Dafür hat Novell im Servicepack 4 für den BorderManager 3.8 eigens das clntrust entwickelt, das ein "SSO", ein Single Sign-On ermöglichen soll.
Meine Erfahrungen bestätigen: Nur durch das Zusammenspiel von Login (also dem Novell-Client) und clntrust lernt der BorderManager mich kennen und macht den Weg frei.
So ganz nebenbei: Ich bin ja sowas von heilfroh, dass das mit unserem derart veralteten BorderManager tatsächlich so klappt! Angeblich ist die Version eine 3.1 oder 3.2, jedoch längst keine aktuelle (3.8.4)...
Aber Du meldest Dich mit bspw. dem Benutzernamen "Felix" an. Meldes sich auch der Apache Deines Linux-Rechners beim NetWare-Server an ;)
Genau da liegt Dein Problem.
Das genau wollte ich ergründen: Kann clntrust verschiedene Logins gleichzeitig verkraften (z.B. einen Daemon mit eigenem Novell-Login parallel zu einem User-Login)? Wenn dem so wäre, dann hätte unser Admin schon einen Account eigens für den Apachen eingerichtet, bzw. für irgendwelchen Proxybedarf irgendwelcher Applikationen (und seien es Cronjob-Shell-Skripte o.ä.).
Wenn der NetWare-Server einen Proxy für das Internet anbietet, brauchst Du keinen Novell Client auf dem Linuxsystem, müßtet aber diesen Proxy für Deinen Browser konfigurieren.
Wie oben schon erwähnt, ist mein Browser Internetfähig, da dort die Proxy-Einstellungen vorgenommen sind. Für das Skript müsste ich ja dann das Browserverhalten emulieren (oder heißt das hier simulieren?). Genau da kam mir das Beispiel auf php.net sehr gelegen, da es anscheinend einen HTTP-GET-Request an einen Server schickt, an den es weitere Dinger dranhängt. In meinem Falle müsste ich einen HTTP-POST-Request schicken, da ich ja ein <form enctype="multipart/form-data"> absenden will (auch wieder emu-/simuliert).
Nix da! Ein Proxy-Client-Script ist nach meiner Auffassung Deiner Lage im moment das einfachste, vorausgesetzt der NetWare-Server hat einen Proxy.
Hat er: BorderManager.
Ich nehme mal auf das Beispiel:
function proxy_client($url)
{
$proxy_name = 'netware.server'; /* hier trägst Du die Domain oder IP-
Adresse des NetWare-Server ein */$proxy_port = 8080; // hier der Port des Proxy-Server
/* $proxy_user und $proxy_pass werden nur benötigt, wenn NetWare-S.
eine Authentifizierung braucht. Das kannst Du mit dem Browser
vorher testen, wenn Du den Proxy besuchst und eine typische
User-Passwort-Eingabe erscheint. */$proxy_user = "";
$proxy_pass = "";$proxy_cont = '';
$proxy_fp = fsockopen($proxy_name, $proxy_port);
if (!$proxy_fp)
return false;fputs($proxy_fp, "GET $request_url HTTP/1.0\r\nHost: $proxy_name\r\n");
if ($proxy_user!="")
fputs($proxy_fp, "Proxy-Authorization: Basic ".
base64_encode ("$proxy_user:$proxy_pass").
"\r\n");fputs($proxy_fp, "\r\n");
while(!feof($proxy_fp)){
$proxy_cont .= fread($proxy_fp,4096);
}
fclose($proxy_fp);return $proxy_cont;
}
echo proxy_client('http://www.peutinger-gymnasium.de/');
Ich werde mich dranklemmen, sobald ich kann. Vielen lieben Dank!!!
Liebe Grüße aus [Ellwangen](http://www.ellwangen.de/),
Felix Riesterer.