HttpClient festlegen von Anmeldeinformationen für die Kerberos-Authentifizierung

Ich versuche, um die Authentifizierung mit einem kerberos - /HTTP-host. Mit Hilfe von Apache HttpClient-als mein Mandant - und eine leicht modifizierte version von diese Quelle.
Mein Kerberos-Authentifizierung geht völlig in Ordnung, und ich wünschte zu wissen, wie man die Anmeldedaten über ein Programm. Im moment werden die Anmeldeinformationen manuell über die Konsole, aber ich will es von mir gewählte Laufzeit. [ Als ich automatisieren möchten und laden testen des Servers mit einer großen Anzahl von Benutzern, tatsächlich. ].

EDIT : Hier ist ein Codeausschnitt der betreffenden Teile :

..
        NegotiateSchemeFactory nsf = new NegotiateSchemeFactory();        
        httpclient.getAuthSchemes().register(AuthPolicy.SPNEGO, nsf);

        Credentials use_jaas_creds = new Credentials() {

            public String getPassword() {
                return null;
            }

            public Principal getUserPrincipal() {
                return null;
            }    
        };

        httpclient.getCredentialsProvider().setCredentials(
                new AuthScope(null, -1, null),
                use_jaas_creds);

        HttpUriRequest request = new HttpGet("http://kerberoshost/");
        HttpResponse response = httpclient.execute(request);
 .. 

Die Schnittstelle Credentials hat zwei Methoden - getPassword() und getUserPrincipal(), aber von einigem Debuggen habe ich Sie offenbar nicht aufgerufen überhaupt.

Was vermisse ich hier ? Was ist ein sauberer Weg zu statisch festlegen der Anmeldeinformationen ?

Sehr ähnliche Frage hatte, wurde gebeten, vor, aber keytabs/login.conf hack ist zu umständlich und nicht eine praktische option für einen automatisierten Lasttest mit einer großen Anzahl von Benutzer-Anmeldeinformationen.
Jede Hilfe zu schätzen wissen.

In C verwendet man die routine c routine krb5_get_init_creds_password. Ich konnte Sie nicht finden, eine Analog-direkt in die Java-kerberos-api in den wenigen Minuten, die ich sah web.mit.edu/kerberos/krb5-devel/doc/appdev/refs/api/...
C ist nicht wirklich eine option für mich. Weil der Testfall beinhaltet nicht nur die kerberos -, aber HTTP auch. Der test ist verifiziert, basierend auf HTTP erfolgreiche redirect-status-codes etc. Aber wenn es irgendwelche vorhandenen Dienstprogramme (C - /Kommandozeile) kein Kerberos+HTTP, wird glücklich sein, zu versuchen, dass. Ich bin nicht bewusst.
Ich bin einigermaßen sicher, dass curl tun kann. curl -V curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.3.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
Ich glaube, es gibt eine java-version von kinit, so dem apis muss irgendwo existieren. Ich bin nur nicht viel von einem java-Experten. Vielleicht kann diese Frage helfen, stackoverflow.com/questions/1037009/...
gut, ja. Ich gebe curl versuchen. Zwar nicht eine direkte Antwort auf die Frage,,, könnte nur helfen bei der Lösung meines eigentlichen Problems! 🙂 Danke für die Hinweise.

InformationsquelleAutor user30622 | 2014-02-07

Schreibe einen Kommentar