Kerberos Single Sign On - eigene Session erzeugen

Hilfe zu Znuny Problemen aller Art
Locked
jayjay
Znuny newbie
Posts: 10
Joined: 23 Jun 2008, 14:20

Kerberos Single Sign On - eigene Session erzeugen

Post by jayjay »

hallo zusammen,

ich habe Kerberos ( mod_auth_kerb + apache ) als Authentifikation für OTRS konfiguriert und habe wie immer das Problem mit der "Re-Authentication". Wenn der Internet Explorer zu oft ein Kerberos-Negotiate machen muss, und das macht er bei jedem Request, verschluckt er sich irgendwann, das Kerberos-Ticket ist kaputt und es hilft nur noch den Browser zu schließen. Um dies zu umgehen würde ich es über einen "Single Sign On-Einstiegspunkt" lösen, ( ein Verzeichniss ) für den Kerberos konfiguriert ist :

<Directory "/opt/otrs/bin/kerblogin/">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms XXX-XXX.DE
KrbServiceName HTTP
KrbVerifyKDC off
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbSaveCredentials on
Krb5Keytab /etc/krb5.keytab
require valid-user
</Directory>


Darin sollte ein Skript leben das die Umgebungsvariable REMOTE_USER interpretiert und eine OTRS-Session mit den jeweiligen Benutzerinformationen erzeugt und dann auf das eigentliche System + SessionID weiterleitet. Es wird dann wohl 2 Einstiegspunkte geben, einen für Agents den anderen für Kunden...


Ablauf wäre also folgender

Aufruf http://otrs/
Weiterleitung auf http://otrs/kerblogin/
Skript in http://otrs/kerblogin/ soll OTRS SessionID erzeugen
Skript soll auf eigentliches System mit der erzeugten SessionID weiterleiten -> http://otrs/otrs/index.fpl?SessionID=1337
Alles gut :)

Nun meine Frage, wie erzeuge ich eine gültige OTRS Session ?

Ich glaube Kernel/System/AuthSession/DB.pm ist mein Freund, aber ich habe leider ( noch ) sehr wenig Ahnung von dem kompletten OTRS Framework und wüßte aktuell nicht wie ich das angehen soll.

Also irgendwie dieses .PM in meinem "Kerblogin-Weiterleitungs-Skript" einbinden , Session erzeugen und auf das eigentliche System mit einer gültigen SessionID weiterleiten...

Kann mir jemand sagen wie? oder wo ich anfangen soll? :)

merci&gruss

jay
ChristophNiemann
Znuny newbie
Posts: 3
Joined: 16 Jul 2008, 15:29

Kerberos Single Sign On - eigene Session erzeugen

Post by ChristophNiemann »

Hi, ich hatte die Tage ein ähnliches Problem. Ich glaube die /usr/share/otrs/Kernel/System/Web/InterfaceAgent.pm könnte die Datei sein, die Dir hilft. So weit ich das sehen konnte, wird darin der Benutzername zur Überprüfung gegeben (was man sicherlich auch überspringen kann, wenn Du das vorher schon mit Kerberos gemacht hast) und dann eine Session erzeugt. Vielleicht kannst Du ja ein Modul nach dem Vorbild bauen und das dann verwenden.
Leider kenne ich mich selber auch nicht besonders gut mit OTRS aus, aber ich hatte die letzen Tage wie gesagt auch sowas und habe mich mit dem Framework ein wenig auseinandergesetzt, es kann auch kompletter Unsinn sein :-) .

Viele Grüße

Christoph
Locked