我正在运行创建HttpServer()对象的java服务器进程。
使用以下args运行该过程
-Dsun.security.krb5.debug=true
-Djava.security.krb5.conf="C:\Windows\krb5.ini"
-Djava.security.auth.login.config="D:\jaas.conf"
-Djavax.security.auth.useSubjectCredsOnly=false
-Dhttp.auth.preference="Kerberos"
jaas.conf的内容如下。
com.sun.security.jgss.krb5.accept {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
storeKey=true
keyTab="D:\mykey.keytab"
doNotPrompt=true
useKeyTab=true
debug=true
principal="fully_qualified_spn";
};
但http服务器并没有要求客户端使用kerberos进行身份验证,而只是在没有任何身份验证的情况下为GET请求提供服务。
我的期望是,将http.auth.preference方案指定为kerberos并指定了所有必需的配置文件,它应该要求客户端进行身份验证。
启用后,我也没有看到任何其他日志 -Dsun.security.krb5.debug =真