java HttpServer无法使用kerberos进行身份验证

时间:2015-03-16 12:29:58

标签: java http authentication kerberos httpserver

我正在运行创建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 =真

1 个答案:

答案 0 :(得分:0)

什么是HTTP服务器?您的服务器需要配置一些SPNEGO身份验证器,例如this。否则它根本不会提示。