java - 使用 Spring Security 委托(delegate)/转发 Kerberos 票证

标签 java spring single-sign-on kerberos

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

最佳答案

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

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

ticketValidator.setHoldOnToGSSContext(true);

这里有一些代码可以帮助您入门:

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();

        // ...
    }
}

关于java - 使用 Spring Security 委托(delegate)/转发 Kerberos 票证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529243/

相关文章:

java - 从布局 XML 自动生成 'View' 类型的类字段的工具?

java - AbstractRoutingDataSource + JPA 不会创建除 defaultTargetDataSource 之外的表

java - 从不同的应用程序读取 Redis 中的数据

java - 异常: Method not found: execute_kw

java - Maven构建失败导致javadoc

java - 从数据库加载时表示不完整的对象

java - 导入 javax.validation.constraints.NotEmpty;不工作

amazon-web-services - 使用 AWS Cognito 和子域进行单点登录

ruby-on-rails - 单点登录服务如何工作?

java - 一步一步谷歌单点登录(java)?