2013-11-01 22 views
6

Sto implementando un server CAS su un computer Windows 2008R2. Tutto funziona perfettamente, tuttavia solo quando inserisco il mio file keytab in C :. Il mio login.conf si presenta così in questo momento:Come modificare la posizione del file keytab in Jasig CAS sotto Tomcat in Windows Server

jcifs.spnego.initiate { 
    com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\spn-account.keytab"; 
}; 
jcifs.spnego.accept { 
    com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\spn-account.keytab"; 

Vorrei cambiare la posizione del file keytab alla mia directory Tomcat. Ho provato la seguente (tra cui lo spostamento del file keytab itselft) ed entrambi non funzionano:

jcifs.spnego.initiate { 
    com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Program%20Files\spn-account.keytab"; 
}; 
jcifs.spnego.accept { 
    com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Program%20Files\Tomcat\spn-account.keytab"; 

e

jcifs.spnego.initiate { 
    com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Progra~1\Tomcat\spn-account.keytab"; 
}; 
jcifs.spnego.accept { 
    com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Progra~1\Tomcat\spn-account.keytab"; 

Qualcuno ha idea di come posso cambiare la posizione del file keytab alla mia directory Tomcat?

+0

Il modo più semplice per definire un percorso che abbia uno spazio nel percorso per l'utilizzo in Java consiste nell'utilizzare il formato del nome breve 8dot3. Usa "dir/x" per determinare il nome 8dot3 dei Program Files e usalo. Sembrerà "PROGRAM ~ 1". –

+0

Hai provato java-ifying quei percorsi? Cambia tutti i "\" in "/" o "\\\\". In effetti, provate entrambi. –

risposta

1

Provare a utilizzare i percorsi in stile java per il keyTab. Usa le barre in avanti invece dei backslash; se devi usare i backslash, devono essere double-double-escaped (quattro backslash ogni volta che ne vuoi uno), in modo che possano essere letti in Properties e quindi avere degli URI creati da loro.