2013-11-01 6 views
6

Windows 2008R2マシンにCASサーバーを実装しています。しかし、私がキータブファイルをC:に置いたときだけ、すべてが完璧に動作しています。私のlogin.confは次のようになります:WindowsサーバーでTomcatの下でJasig CASのkeytabファイルの場所を変更する方法

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"; 

私は、keytabファイルの場所をTomcatディレクトリに変更したいと思います。私は(keytabファイルのitselftの移動を含む)、次を試してみたし、彼らの両方が動作しません:

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"; 

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"; 

誰もが私はkeytabファイルの場所を変更する方法の手掛かりを持っています私のTomcatディレクトリに?

+0

Javaで使用するパスにスペースを含むパスを定義する最もクリーンな方法は、8dot3の短い名前形式を使用することです。 "dir/x"を使用して、Program Filesの8dot3の名前を決定し、それを使用します。それは "PROGRAM〜1"のようになります。 –

+0

これらのパスをjava-ifyingしようとしましたか?すべての "\"を "/"または "\\\\"に変更します。実際には、両方を試してみてください。 –

答えて

1

keyTabにjava形式のパスを使用してみてください。バックスラッシュの代わりにスラッシュを使用します。バックスラッシュを使用する必要がある場合、それらをダブルダブルエスケープする必要があります(バックスラッシュを4つ必要とするときはいつでも)ので、プロパティに読み込んでURIを作成することができます。

関連する問題