问题标签 [spnego]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - 使用 SPNEGO/Kerberos 和委派的 Tomcat 身份验证
是否有实现 Tomcat 使用的 Kerberos 身份验证并且还支持 Kerberos 委派的 apache 模块?
我已经看过 mod_spnego 了,它丢弃了它创建的 SSPI 上下文,只保留了主体名称。相反,我正在寻找一个模块,该模块将允许委托发送到 Tomcat 的票证 - 也就是说,获取发送的服务票证以进行身份验证并使用它在服务器端代表用户访问另一个服务。
编辑:为了澄清,我需要在 Win32 下使用 GSS/SSPI 上下文进行模拟,因此当遗留代码连接到另一台服务器时,将使用委托凭据。
kerberos - 我可以向客户端表明支持 SPNEGO 但 NTLM 不适用于 HTTP 请求吗?
我目前知道的微软使用的两个 WWW-Authenticate 添加是
- NTLM
- 谈判
如果从服务器发送 Negotiate,将根据一组条件使用 Kerberos
- 内网区
- 使用主机名而不是 IP 访问服务器
- 已启用 IE 中的集成 Windows 身份验证,主机在 Firefox 中受信任
- 服务器不是浏览器本地的
- 客户端的 Kerberos 系统通过域控制器的身份验证
然后将在服务器和客户端之间尝试 Kerberos,如果不满足上述条件,则将尝试 NTLM。
我的问题是,服务器是否有某种方法可以指示不应发送 NTLM?我目前通过跟踪会话中的请求来处理这个问题,如果收到 NTLM 消息,它会在会话的剩余时间内禁用 Kerberos 和 WWW-Authenticate。
java - 使用 spnego 凭据访问不同的页面
我有一个使用 serverA 中的 jetty 6.1.12 提供服务的应用程序。serverA 使用 spnego 过滤器进行了kerberized,当我从浏览器运行它时运行良好。我现在正试图从 serverA 中的一个类访问不同的站点 (serverB)。这个新站点使用相同的身份验证方案,即,如果用户可以看到 serverA 上的页面,他也可以看到 serverB 上的页面。有没有办法从 Web 服务器 (serverA) 获取 kerberos 凭据并将其传递到其他地方?
错误报告(http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6549811)说 spnego 委托很久以前就修复了,所以我认为必须有办法做到这一点。
我正在使用 Java 1.6。要对 serverB 进行 http 调用,我使用的是 apache commons httpclient 3.1。
python - 使用 Python 进行 SSO 的 SPNEGO(kerberos 令牌生成/验证)
我正在尝试实现一个简单的单点登录方案,其中一些参与的服务器将是 Windows (IIS) 框。看起来 SPNEGO 是一个合理的路径。
这是场景:
- 用户使用他的用户名和密码登录到我的 SSO 服务。我使用某种机制对他进行身份验证。
- 稍后,用户想要访问 App A。
- 用户对 App A 的请求被 SSO 服务拦截。SSO 服务使用 SPNEGO 将用户登录到 App A:
- SSO 服务点击 App A 网页,获得“WWW-Authenticate: Negotiate”响应
- SSO 服务代表用户生成“Authorization: Negotiate xxx”响应,响应 App A。用户现在登录到 App A。
- SSO 服务拦截用户对 App A 的后续请求,将 Authorization 标头插入其中,然后再将其传递给 App A。
- 用户对 App A 的请求被 SSO 服务拦截。SSO 服务使用 SPNEGO 将用户登录到 App A:
听起来对吗?
我需要两件事(至少我现在能想到的):
- 代表用户生成“授权:协商 xxx”令牌的能力,最好使用 Python
- 在 Python 中验证“授权:协商 xxx”标头的能力(用于项目的后面部分)
java - 为什么从 Microsoft IE 到 Java 服务器使用 Active Directory SSO 时会出现 GSSException?
我正在为 Java Web 应用程序(使用 SPNEGO/Kerberos)构建一个 Active Directory 单点登录身份验证系统,并且在 Firefox 或(据报道)Safari 上一切正常,但 Internet Explorer 会导致异常:
事实上,我认为 IE 在安装 Windows 补丁之前就可以工作。
java - 使用 Java + Exchange 2007 EWS 单点登录
我一直在从事一个项目,该项目使用 SPNEGO 为基于 Java 的 webapp 进行单点登录。目前,它与 Jetty + SPNEGO 和 Active Directory 一起成功运行,因此如果您访问我的测试页面,如果浏览器配置正确,它可以输出 auth_user 以及 Negotiate 令牌。
该项目的下一步是能够将该用户和令牌传递给 Exchange Web 服务作为身份验证,以便我可以访问远程用户交换目录(邮件、联系人等)
我已经运行 JAX-WS 从 Services.wsdl 文件生成存根文件,并且能够使用这些类连接到 Exchange。唯一的问题是它只会验证运行 Web 服务器的用户,而不是远程用户。
我还注意到我找不到将令牌传递给 EWS 的正确类,而不是用户名和密码。此外,生成的文件没有对 SPNEGO 的任何引用。
有谁知道可能的解决方案,或者看起来我必须手动生成 SOAP 调用而不是使用生成的类?
谢谢你的时间
security - SVN安全的“企业”最佳实践是什么?
(专门针对 VisualSVN。)您应该使用 SVN 身份验证还是 Windows 集成身份验证?
如果这里有任何问题,请纠正,但是...
SVN auth 的问题在于,管理员基本上要么必须让开发人员在创建帐户时输入他们自己的密码,要么必须为他们创建密码(因此他们知道开发人员的密码)。但是当然,SVN 服务器管理员无论如何都可以访问他们的代码,因为他们可以完全访问存储库本身,所以这有关系吗?
如果您使用的是 Windows 集成身份验证,我相信(?)这意味着您正在为 SVN 服务器上的开发人员提供完全访问帐户(我可以看到肛门审计员称这是一种不好的做法,具体取决于那里运行的其他内容)。
那么哪种类型的身份验证更适合大型组织呢?有关系吗?
firefox3.6 - 用于 spnego 身份验证的 Firefox 3.6.13 配置
我想访问需要 spnego 身份验证的 Web 应用程序。此应用程序在我通过 VPN 连接连接的网络上运行。未使用代理。
它在 IE6/7/8、Chrome 下运行良好,但在 firefox 3.6.13 下运行良好
firefox上的问题是:我没有输入用户名和密码的提示框
要配置我的 FF,我应用了以下说明,将域名添加到受信任和委托 uris 字段。
尝试访问应用程序时,我收到以下错误消息:
浏览器未响应服务器发送的身份验证质询。很可能您的浏览器没有正确配置为处理 SPNEGO 身份验证质询或不支持 SPNEGO。请联系您的系统管理员以解决问题。
使用 TCPMon 获取接收到的信息的概览:
我检查了其他浏览器,我得到了相同的信息。
有人知道为什么FF无法解释它,提示对话框或进入应用程序吗?
提前感谢您的帮助。
此致。
java - 使用 Spnego 解密 kerberos 票证
我在 JBoss 下使用 spnego ( http://spnego.sourceforge.net ) 进行 kerberos 身份验证。
我需要解密 kerberos 票证以访问将包含 PAC 数据的授权数据。需要 PAC 数据来决定将哪些角色授予用户。
如何访问和解密kerberos票?我已经在网上搜索了示例,但没有努力。
java - 带有 Java 客户端的 SpnegoContextToken 的任何代码示例?
我正在尝试编写要在 Windows 上运行的 Java 代码,以使用使用 SpnegoContextToken 的 WCF Web 服务。有没有人可以分享一个很好的工作示例?我什至不确定当前的 Metro (2.1) 是否支持 SpnegoContextToken。我很感激任何建议。谢谢!!!