如何在Windows Server下的Tomcat下更改Jasig CAS中keytab文件的位置

Mar*_*ger 6 tomcat cas jasig

我正在Windows 2008R2机器上实现CAS服务器.一切都运行得很完美,但只有当我将我的keytab文件放在C:中时.我的login.conf目前看起来像这样:

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";
Run Code Online (Sandbox Code Playgroud)

我想将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";
Run Code Online (Sandbox Code Playgroud)

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";
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何将keytab文件位置更改为我的Tomcat目录?

Pau*_*cks 1

尝试对 keyTab 使用 java 样式路径。使用正斜杠而不是反斜杠;如果必须使用反斜杠,则需要对它们进行双双转义(只要需要就可以使用四个反斜杠),这样就可以将它们读入 Properties,然后从中创建 URI。