首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Spring Security委托/转发Kerberos票证

使用Spring Security委托/转发Kerberos票证
EN

Stack Overflow用户
提问于 2012-09-21 11:01:45
回答 3查看 1.7K关注 0票数 4

我正在尝试查找Kerberos的Spring Security实现是否处理票据授予票证的委托/转发,以便我的应用程序服务器可以重用主体TGT调用其他Kerberos服务?任何关于这方面的文档都将不胜感激。干杯!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-21 11:52:48

Spring security没有实现任何Kerberos功能。如果您指的是kerberos ,那么答案是否定的。它只做身份验证,只是Java JAAS API Krb5LoginModule的包装器。

票数 2
EN

Stack Overflow用户

发布于 2016-11-24 13:21:37

Spring Security Kerberos 1.0.0发布以来,这是可能的。

可以将SunJaasKerberosTicketValidator配置为存储身份验证上下文:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ticketValidator.setHoldOnToGSSContext(true);

下面是一些代码,可以帮助您入门:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

if (authentication instanceof KerberosServiceRequestToken) {
    KerberosServiceRequestToken token = (KerberosServiceRequestToken) authentication;

    if (token.getTicketValidation() == null) {
        // No delegation possible...
    } else {
        GSSContext context = token.getTicketValidation().getGssContext();

        // ...
    }
}
票数 3
EN

Stack Overflow用户

发布于 2019-05-22 13:06:14

正如Koraktor提到的,SunJaasKerberosTicketValidator类具有与JAAS配置文件等效的详细信息。但是,SunJaasKerberosTicketValidatorisInitiator标志设置为false。这会导致context.getCredDeleg()返回false,并且您不能委托凭据。我做了一个POC,我观察到只有当isInitiator设置为true时,委派/转发才有效。

我通过编写自己的TicketValidator解决了这个问题,除了将isInitiator标志的条目更改为options.put("isInitiator", "true");之外,SunJaasKerberosTicketValidator的所有内容都保持不变

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12529243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文