[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2011
    Beiträge
    25

    Login von Windowsrechner auf AS400 mittels Kerberos und Java

    Hallo zusammen,

    ich versuche seit einiger Zeit von meinem Windowsrechner aus auf die as400 zu connecten, mittels Java und JT400. Dabei soll der User nicht nach seinem Username/Passwort gefragt werden sondern der Login automatisch mittels Kerberos stattfinden. Meine bisherigen Versuche brachten allerdings keinen Erfolg, da es mit nie Möglich war ein Kerberos Ticket auszulesen.

    Ich habe dazu allerdings auch keine brauchbaren Tutorials / Dokus im Internet gefunden und wollte einmal fragen ob jemand von euch damit schon Erfarhungen gemacht hat.

    Wenn ja wäre ich über einen kleinen Codeschnipsel sehr dankbar.

    MfG

    Haunted

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Normalerweise braucht der User keine weiteren Anmeldungen buw. das Programm braucht da auch nichts zu tun.
    Wichtig ist halt, dass auch auf der AS/400 der SingleSignon installiert werden muss.
    i5/OS network authentication service
    Single sign-on enablement

    Ansonsten kannst du bei allen jt400-Klassen für die Anmeldung natürlich User und Kennwort direkt selber angeben.
    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

  3. #3
    Registriert seit
    Feb 2011
    Beiträge
    25
    Mh also wenn ich bei der AS400 Instance keine setGSS... Methoden aufrufe und keine zusätzlichen Logininformationen hinterlege kommt ein Prompt der USER/PW abfragt. Wenn ich vorher as400.setGSSName(...); aufrufe dann kommt der Fehler "
    Kerberos service ticket could not be retrieved.
    ".

    Mein Qt ist allerdings nicht mehr als:

    AS400 login = new AS400("as400");


    login.setGSSName("user");
    login.connectService(AS400.DATAQUEUE);

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Dann steht Kerberos nicht zur Verfügung und du musst den normalen User mit Kennwort nutzen.
    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

  5. #5
    Registriert seit
    Feb 2011
    Beiträge
    25
    allerdings funktioniert Kerberos (Connect auch auf die AS400 per HTTP) in den Browsern, also die Kerberos Umgebung sollte richtig eingerichtet sein.

  6. #6
    Registriert seit
    Feb 2014
    Beiträge
    5
    Musste soeben derselbes Problem lösen:

    Also:

    es müssen Java Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files für die verwendete Java-Version (hier Java 7) installiert werden (bei Java-Update nicht vergessen).

    ganz wichtig ist, die Realms-Namen bzw. Domaine in Upper-Case einzugeben und System-Propertyjavax.security.auth.useSubjectCredsOnly auf false setzen.

    System
    .setProperty("java.security.krb5.realm", "INTRA.MYDOMAIN.COM");
    System.setProperty("java.security.krb5.kdc", "windows_ad.INTRA.MYDOMAIN.COM");

    System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");


    Kerberos Config kann auch in c:/Windows/krb5.ini eingegeben werden (Äquivalent auf iSeries ist:/QIBM/UserData/OS400/NetworkAuthentication/krb5.conf):

    [libdefaults]
    default_keytab_name = /QIBM/UserData/OS400/NetworkAuthentication/keytab/krb5.keytab
    default_realm = INTRA.MYDOMAIN.COM
    [realms]
    INTRA.MYDOMAIN.COM = {
    kdc = windows_ad.
    INTRA.MYDOMAIN.COM:88
    kpasswd_server = windows_ad.
    INTRA.MYDOMAIN.COM:464
    }
    [domain_realm]
    [capaths]

    Im weiterem ist unter Windows die Eingabe in Registry zwindend:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Lsa\Kerberos\Parameters
    REG_DWORD name: allowtgtsessionkey
    Value: 1


    dann muss in Programm "nichts" gemacht werden (user sollte erst gar nicht eingegeben werden):
    as400 = new AS400("iseries.intra.mydomain.com");
    as400.connectService(AS400.COMMAND);


    Falls es sich bei dem Windows-Benutzer, um Local-Admin with "UAC enabled" handelt, so muss das Programm (u.a. Eclipse) mit "Run as administrator" gestartet werden (sonst wird Ticket trotz Registry Eingaben nicht erstellt/gacacht).

Similar Threads

  1. Programm auf "ferner" AS400 ausführen.
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 13-05-09, 20:50
  2. von AS400 auf anderen Server speichern
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-01-07, 11:17
  3. Datentransfer DB2/400 <---> Oracle mittels JAVA
    By agutenbru in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 05-04-06, 11:11
  4. Sprache ändern auf der AS400
    By Christian.Hesse in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 24-11-05, 15:28
  5. Zugriff mit MSAccess auf AS400 via OLE-DB
    By matjesfilet in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-11-05, 17:02

Berechtigungen

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