问题标签 [spring-security-kerberos]

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.

0 投票
0 回答
642 浏览

java - Kerberos 身份验证。检测到有缺陷的令牌

我开发了一个带有kerberos (v1.0.1) 身份验证的 Web 应用程序。

我的目标是通过 Windows 身份验证 Active Directory (Windows Server 2008 R2) 提供登录。

问题是浏览器发送到后端 NTLM 票而不是 Kerberos 票。我使用wireshak检查通信工作流程:

  1. 我在后端打了个休息电话
  2. 应用程序服务器对我的响应 401
  3. 浏览器调用活动目录上的 kerberos 服务并收到 TGS_REP
  4. 现在我希望浏览器使用 Kerberos 令牌调用我的休息服务,但我收到的是 NTLM 令牌

我用 JAVA 开发的后端服务抛出以下异常:

编辑1:

第一个问题是我们使用 IP 来生成 SPN 和 KEYTAB。因此,我们以这种方式创建了 keytab:

然后我们在 DNS 上添加了我们的 BE 服务器

目前我们可以使用kerberos登录,并且BE(spring boot)成功验证了kerberos的token,但是我们无法使用下载用户信息KerberosLdapContextSource,所以我们采用了一种变通方法并使用了DefaultSpringSecurityContextSourceBean。


有人有任何想法或参考可以依赖吗?

谢谢

0 投票
0 回答
618 浏览

java - kerberos kinit 在 Windows 服务器 12 上给出 java.lang.NullPointerException

当我在 Windows Server 2012 上运行 kinit 命令时,它会给出空指针错误。请给我任何解决方案。

0 投票
1 回答
941 浏览

java - 使用 Spring MVC + Angular JS 的 Windows 身份验证

将 Angular JS 用于我的前端,将 Spring MVC 用于 Web 服务。基于 SOA 架构,前端和后端是松耦合的。

我想使用 Windows 身份验证登录 Web 应用程序,而无需在登录页面中询问任何用户名和密码。

我在 Spring Security Kerberos 中受到打击,想从 LDAP 进行身份验证,然后使用 Spring JWT oAuth 协议继续进一步。

有人可以帮助我在哪里失踪或这种架构的稳健方式是什么。

PS:Spring MVC + Angular JS

0 投票
0 回答
479 浏览

hadoop - Java:在kerberized hadoop集群上访问作业历史服务器和应用程序时间线服务器?

我已经使用 kerberos rest 模板来访问 kerberized hadoop 上的作业历史服务器,但是这段代码向我抛出了一个异常:

例外:

那么是否有任何额外的参数我必须在请求标头中传递才能访问 kerberos 安全 api?同样在访问此 api 之前,我已经使用 hadoop 安全性的 UserGroupInformation 类通过 kerberosRestTemplate 中提供的相同用户主体和 keytab 登录了用户。

在访问作业历史记录之前,我已经检查了当前登录的用户(通过当前用户的 ugi),它让我知道用户已登录并使用 kerberos 身份验证,但我仍然从作业历史记录服务器获得 401 状态。

0 投票
0 回答
150 浏览

spring - 使用 gradle 包装器编译 Spring Kerberos 示例 - KerberosRestTemplateTests 错误

我正在尝试构建/编译 Spring Kerberos Spnego 示例项目,即这里的那个。

https://github.com/spring-projects/spring-security-kerberos

我确实使用 Gradle 包装器来构建项目,但是在构建时出现错误,即构建没有通过测试。当我运行测试例如“testSpnego”时,它总是在他们试图创建上下文的那一刻中断,即

首先,我认为由于 Java 版本 8,测试失败,但我尝试在 Windows 7 上使用 jdk 1.7.0.80 和 Debian 上使用 jdk 1.8.0.91 构建这些 jar。我总是遇到同样的错误,即 KerberosRestTemplateTests 中的测试(全部)失败。

这是手动测试的输出,即来自eclipse STS的输出。

非常感谢在构建这些方面的任何帮助。

0 投票
2 回答
5443 浏览

spring-security - 集成 Windows 身份验证 spring 安全性

  • 尝试在 Windows 环境中根据需要成功运行 waffle,但我的应用程序服务器托管在 *nix 环境中。
  • 所以华夫饼解决方案不符合我的要求。

  • 与无法满足我要求的 Waffle 相比,尝试过的 kerberos 解决方案很难配置。

我的要求 - 当用户点击我的 Web 应用程序的 URL 时,他/她将通过 windows 身份验证进行身份验证,或者如果可能的话,可以从请求对象中获取远程用户或客户端名称(windows 帐户名称)。

任何建议都会有所帮助。

0 投票
1 回答
1649 浏览

spring-security - Kerberos:跨域/领域问题

我在帮助客户为我们的软件配置 SSO(使用 Kerberos)时遇到了一个问题。

但首先,让我们给你一些背景:

正如您在附加的 krb5.ini 中看到的那样,我们想做跨域/领域 Kerberos,并且我们有四个不同的(Active Directory;都具有 2008 R2 森林/域功能级别)域。

1) test.local 2) subdomain.test.local (这显然是 test.local 的子域) 3) example.local 4) dummy.local

在 test.local 和 example.local 之间以及在 test.local 和 example.local 之间(手动)设置了双向传递信任。

并且(当然)test.local 和 subdomain.test.local 之间存在默认信任。

跨域名解析工作得很好。

网络服务器是一个 linux 机器(如果我没记错的话,它是一个 RedHat 或 CentOS 安装)。fqdn 是 web001.test.local。

客户端(与它们所属的域不同)将 fqdn web001.test.local 视为本地 Intranet 区域的成员。

我们成功地为 web 服务器创建了一个服务用户和一个相应的 keytab 文件。

如果我们查询 test.local 并搜索 spn,我们会得到正确的响应:

之后我们开始测试并且 Kerberos 工作得很好(如果用户是 test.local 或 subdomain.test.local 的成员),直到我们尝试使用来自 dummy.local 和 example.local 的测试用户登录。

每次用户尝试从这些特定域登录时,我们都会得到以下堆栈跟踪:

正如我之前所说:Kerberos 与 test.local 和 subdomain.test.local 领域/域中的客户端/用户一起工作。

但我不明白为什么它不能与其他域/领域一起使用。

有人可以启发我或至少给我一个提示吗?

提前致谢。

PS 关于调试/响应:我没有直接访问客户域(活动目录)和网络服务器的权限。因此调试和回复您的答案可能需要几天时间。

0 投票
0 回答
200 浏览

java - kerberos 票证解码返回不正确的用户名

我在这个问题上苦苦挣扎,每有空闲时间我都在研究这个问题。

我们有一个 SSO 工作,对于 99% 的用户来说没有问题。
但是,当用户名(SAMAccountName)包含重音符号时,我们就会遇到问题。

Kerberos 票证已验证,但我们检索到错误的用户名。例子 :

SAMAccountName : andré.a
验证后检索到的主体 : andr□□.a

可以肯定这是一些编码问题,因为我们以前使用 Windows Kerberos 系统没有任何问题,而现在我们有一个 Linux Kerberos 是什么导致了这个问题。

我正在研究代码并试图找到解决方案,但我感觉这只是一些 Kerberos 设置需要更改的内容或特定的应用程序编码设置需要更改的内容。

是否有可能从 base64 协商标头中解码主体而不必触发验证本身(因为验证有效)?

或者,是否有人也遇到了这个问题并找到了解决方案?

提前谢谢。

0 投票
1 回答
707 浏览

kerberos - 用于 Spring Web 应用程序的 Kerberos

我通过使用 spring 安全模块以及 LDAP 进行身份验证和授权功能构建了 spring web 应用程序。现在我计划使用 spring 安全模块实现基于 kerberos 的身份验证并执行基于 Windows 的身份验证。将kerberos用于Web应用程序是否可行。我对这个 kerberos 以及它如何适应 Web 应用程序架构完全陌生。

0 投票
1 回答
555 浏览

kerberos - 如何在 Jboss EAP 中为 Kerberos 实现配置组?

我已经为 jboss-eap 中的特定用户配置了使用 Kerberos 身份验证的应用程序,它工作正常。但是要在组的基础上进行相同的配置,即特定组中的用户将能够进行身份验证。

用户的 Standalone.xml 配置:-

我的环境包括:

带有 JBoss EAP 6.2 客户端站的 linux 服务器,带有 Windows 7 64 位 + Chrome Windows Server 2008 Active Directory(充当 KDC)

应用大战地点:- https://github.com/kwart/spnego-demo

有没有人经历过这一切并以某种方式解决了它?

提前谢谢你,悉达多