当前位置: 首页 > 知识库问答 >
问题:

自定义转换器中没有用户主体ad TEID JDBC

锺高翰
2023-03-14

我使用kerberos票证成功地将JDBC连接到TEIID。我喜欢获取票证中的默认本金

票证详细信息:票证缓存:KEYRING:持久:6003:6003默认本金:nfunke@FUNKE.HK

有效期至服务负责人2018年5月21日21:14:46 2018年5月22日21:14:44 krbtgt/FUNKE。HK@FUNKE.HK

但是在翻译器的执行函数中,我只从服务中获取本金,该服务在数据源处配置。

代码:

public void execute(String tableName, List<String> columns, Map<String, List<Object>> values, Subject subject, Limit limit) throws IonicTranslatorException{
.
.
    if (subject!=null) {
users = subject.getPrincipals();
        for(Principal p: users){
            log.warn("available subject: " + p.getName());
            log.warn("Type:" + p.getClass().getName());

结果我得到了:

......可用主题:HTTP/52.201.217.84
......类型:org.jboss.security.SimpleMain
......可用主题:角色
......类型:org.jboss.security.SimpleGroup
......可用主题:卡勒校长
......类型:org.jboss.security.SimpleGroup
......可用主题:HTTP/52.201.217.84@FUNKE.HK
......类型:javax.security.auth.kerberos.KerberosMain

但是没有"nfunke"

我从哪里可以从上下文中获取用户名?

下面是独立的域配置。xml:

            <security-domain name="FUNKE.HK">
                <authentication>
                    <login-module code="SPNEGO" flag="requisite">
                        <module-option name="password-stacking" value="useFirstPass"/>
                        <module-option name="serverSecurityDomain" value="host"/>
                        <module-option name="removeRealmFromPrincipal" value="true"/>
                    </login-module>
                    <login-module code="com.sun.security.auth.module.Krb5LoginModule" flag="required" module="org.jboss.security.negotiation">
                        <module-option name="storeKey" value="true"/>
                        <module-option name="userKeyTab" value="true"/>
                        <module-option name="principal" value="HTTP/52.201.217.84@FUNKE.HK"/>
                        <module-option name="useKeyTab" value="true"/>
                        <module-option name="keyTab" value="/etc/krb5.keytab"/>
                        <module-option name="doNotPrompt" value="true"/>
                        <module-option name="debug" value="true"/>
                        <module-option name="useTicketCache" value="true"/>
                        <module-option name="refreshKrb5Config" value="true"/>
                        <module-option name="isInitiator" value="true"/>
                        <module-option name="delegationCredential" value="USE"/>
                        <module-option name="addGSSCredential" value="true"/>
                    </login-module>
                </authentication>
            </security-domain>

是的,我可以毫无问题地运行查询

共有1个答案

岑畅
2023-03-14

如果要委托给数据源,首先需要在数据源配置上定义“安全域”。然后,您需要使用上面的“登录模块”定义另一个安全域。请参阅Kerberos委派

 类似资料:
  • 主要内容:JSF自定义转换器实例我们可以在JSF中创建自己的自定义转换器。 以下列表是我们可以在JSF中创建自定义转换器的步骤。 通过实现接口创建一个转换器类。 实现上述接口的和方法。 使用注解为自定义转换器分配唯一的ID。 JSF自定义转换器实例 打开 NetBeans IDE 创建一个Web工程:CustomConverter,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文

  • I'v开始寻找很好的解决方案,如何使用Spring CassandraOperations很好地持久化实体。问题的出现是因为我的实体中的某些字段不支持cassandra,例如joda DateTime。 解决方法是在java类型的同一实体中有其他字段。util。Date而不是joda DateTime,用@Transient标记未要求的字段。但这并不干净,所以我开始寻找自动自定义转换。 目前,sp

  • 我对标准转换序列术语有误解。我遇到了以下引用N3797§8.5.3/5[dcl.init.ref]: -如果初始值设定项表达式 -是xvalue(但不是位字段)、类prvalue、数组prvalue或函数左值,并且“cv1 T1”与“cv2 T2”引用兼容,或者 -具有类类型(即T2为类类型),其中T1与T2无关,可转换为“cv3 T3”类型的xvalue、class prvalue或函数左值,其

  • 问题内容: 我必须处理动态JSON响应。 之前,我使用如下类和注释: 当状态为1(成功)时,将被触发,我可以得到一个ChatResponse对象。但是,当状态为0时,响应在JSON表示中为false,并且失败(触发)。 我想创建我的自定义转换器,这个问题有一个很好的示例,但是该示例适用于Retrofit 1。 我必须创建一个extends类,但是我不知道如何重写此类的方法。 其实我有下一个: 我现

  • 给定maven shade插件资源转换器,我们如何创建自定义的资源转换器? [错误]无法执行项目目标org.apache.maven.plugins:maven-shade-plugin:2.4.1:Shade(默认)foo:无法解析mojo org.apache.maven.plugins:maven-shade-plugin:2.4.1:参数转换器的Shade:无法加载实现提示“test.tr

  • 实际上,我们正在使用fetchInto()将结果转换为对象列表。 例如: 。