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

时间:2013-11-01 12:50:11

标签: 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";

我想将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目录?

1 个答案:

答案 0 :(得分:1)

尝试使用java风格的路径作为keyTab。使用正斜杠代替反斜杠;如果你必须使用反斜杠,它们需要进行双重转义(任何时候你需要两个反斜杠),这样就可以将它们读入属性,然后从中创建URI。