我正在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目录?
答案 0 :(得分:1)
尝试使用java风格的路径作为keyTab。使用正斜杠代替反斜杠;如果你必须使用反斜杠,它们需要进行双重转义(任何时候你需要两个反斜杠),这样就可以将它们读入属性,然后从中创建URI。