AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 126190
Accepted
Michael Henry
Michael Henry
Asked: 2010-03-26 05:03:54 +0800 CST2010-03-26 05:03:54 +0800 CST 2010-03-26 05:03:54 +0800 CST

针对 Active Directory 的 Tomcat SPNEGO 身份验证不起作用

  • 772

我正在尝试使用带有 tomcat的http://spnego.sourceforge.net组件对 AD 进行身份验证。

我已经创建了我的 SPN 的“setspn.exe -A HTTP/servername SVCTomcat”和“setspn.exe -A HTTP/servername.fqdn.net SVCTomcat”

我已经创建了我的 krb5.conf 和 login.conf 文件并在 web.xml 中设置了过滤器,即。

<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 日志文件中得到它。2010 年 3 月 25 日 12:41:26 org.apache.catalina.startup.Catalina 开始信息:服务器在 4615 毫秒内启动 2010 年 3 月 25 日 12:41:47 net.sourceforge.spnego.SpnegoHttpFilter doFilter FINE:principal=SYSTEM @TESTDOMAIN

在网站上的 hello_spnego.jsp 示例中,它只报告用户 tomcat 的名称以 (SYSTEM) 身份运行,而不是我正在连接的用户。

似乎作者在他的调试页面中途停止了,所以除了三次检查我的配置外,我没有其他地方可以查看。

有任何想法吗?

windows-server-2008 tomcat active-directory spnego
  • 1 1 个回答
  • 3549 Views

1 个回答

  • Voted
  1. Best Answer
    Mike Hambidge
    2010-04-07T13:42:38+08:002010-04-07T13:42:38+08:00

    假设您正在使用与 Tomcat 在同一台机器上运行的 Web 浏览器来访问 hello_spnego.jsp 页面,这就是我想象的情况:

    1. 您没有设置 SpnegoHttpFilter 配置参数“spnego.allow.localhost”。

    2. 虽然过滤器的参考指南 ( http://spnego.sourceforge.net/reference_docs.html ) 声明此设置默认为 false,但仔细阅读源代码(SpnegoFilterConfig.java 第 80 行)表明此参数默认为 true。

    3. 当此参数设置为 true 时,SpnegoHttpFilter 将绕过身份验证,而是将经过身份验证的主体设置为运行 Tomcat 的用户帐户。这就是您得到“SYSTEM@TESTDOMAIN”结果的原因。

    如果我最初的假设是正确的,请尝试从远程机器访问 hello_spnego.jsp 页面,它应该执行实际的身份验证。(您可能需要为您的浏览器启用 Kerberos 身份验证。)

    请注意,过滤器作者通过位于http://sourceforge.net/projects/spnego/forums/的 SourceForge 项目论坛积极回答问题

    • 0

相关问题

  • 在登录期间打开 URL 的现代方法是什么?

  • 什么可能导致 IIS7 拒绝绑定到不允许导出私钥的证书?

  • 从 2003 年迁移到 2008 年 Microsoft 群集技术

  • 有什么理由使用 Windows Server 2003 而不是 Server 2008?

  • 是否可以在单个 W2008 服务器上安装 Exchange Server?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve