我试图使用带有tomcat的http://spnego.sourceforge.net组件来验证AD。
我创建了我的SPN的"setspn.exe -A HTTP/servername SVCTomcat“& "setspn.exe -A HTTP/serviname.fqdn.net SVCTomcat”
我已经创建了krb5.conf & login.conf文件,并在web.xml ie中设置了过滤器。
<filter-name>SpnegoHttpFilter</filter-name>
<filter-class>net.sourceforge.spnego.SpnegoHttpFilter</filter-class>
<param-name>spnego.allow.unsecure.basic</param-name>
<param-value>false</param-value>
<param-name>spnego.login.client.module</param-name>
<param-value>spnego-client</param-value>
<param-name>spnego.krb5.conf</param-name>
<param-value>krb5.conf</param-value>
<param-name>spnego.login.conf</param-name>
<param-value>login.conf</param-value>
<param-name>spnego.preauth.username</param-name>
<param-value>SVCTomcat</param-value>
<param-name>spnego.preauth.password</param-name>
<param-value>Pasword</param-value>
<param-name>spnego.login.server.module</param-name>
<param-value>spnego-server</param-value>
<param-name>spnego.prompt.ntlm</param-name>
<param-value>false</param-value>
<param-name>spnego.logger.level</param-name>
<param-value>2</param-value>注意,我已经从其中去掉了无关的标记,所以它不是实际的XML。
当我转到受此过滤器保护的页面时,就会在catalina日志文件中得到它。25-2010年3月12:41:26 org.apache.catalina.startup.Catalina启动信息:服务器启动时间为4615 ms 25-2010年3月12:41:47 net.sourceforge.spnego.SpnegoHttpFilter doFilter FINE: principal=SYSTEM@TESTDOMAIN
在网站上的hello_spnego.jsp示例中,它只报告用户tomcat作为(SYSTEM)运行的名称,而不是我正在连接的用户。
在调试页面的一半时间里,作者似乎停了下来,所以除了三次检查我的配置之外,我没有其他地方可以查看。
有什么想法吗?
发布于 2010-04-06 21:42:38
假设您使用的是运行在与Tomcat相同的机器上的web浏览器来访问hello_spnego.jsp页面,下面是我的设想:
如果我最初的假设是正确的,那么尝试从远程机器点击hello_spnego.jsp页面,它应该执行实际的身份验证。(您可能需要为浏览器启用Kerberos身份验证。)
请注意,筛选器作者正在通过SourceForge项目论坛在http://sourceforge.net/projects/spnego/forums/上主动回答问题。
https://serverfault.com/questions/126190
复制相似问题