在Windows环境中使用Spnego/Kerberos实现了单点登录解决方案,这允许我的windows域用户通过IBMi通过JTOpen连接到JTOpen,然后使用JTOpen将我的Windows用户映射到IBM用户以登录到IBMi中。
我在KDC上安装了两个SPN,并启用了对任何Kerberos服务的委托:
HTTP/windows.mydomain@MYDOMAIN
krbsvr400/ibmi.mydomain@MYDOMAIN然后在KDC上启用受约束的委托,以便:
HTTP/windows.mydomain@MYDOMAIN在建立到IBMi的连接时,我会看到这个Kerberos错误:
>>> KDCRep: init() encoding tag is 126 req type is 13
>>>KRBError:
sTime is Thu Jun 16 21:06:47 BST 2022 1655410007000
suSec is 417830
error code is 13
error Message is KDC cannot accommodate requested option
sname is krbsvr400/ibmi.mydomain@MYDOMAIN
eData provided.
msgType is 30
Unknown eData field of KRB-ERROR:
0000: 30 15 A1 03 02 01 03 A2 0E 04 0C 25 02 00 C0 00 0..........%....
0010: 00 00 00 03 00 00 00 .......到目前为止,我还没能继续前进,通过了这个Kerberos错误。
发布于 2022-08-12 09:45:40
我面临着同样的问题,有着同样的输出。
您的KDC服务器是否在server 2012或更高版本上运行?
在我的例子中,解决方案是更改SPN在KDC上的设置。不要向任何Kerberos服务委派,而是使用一个选项“只信任用户只向指定的服务委派”,然后“使用任何身份验证协议”将您的服务放在:
krbsvr400 400/ibmi.myDomain@MYDOMAIN
在名单上
查看这关于受约束委托问题的文章
因此,您应该检查您的KDC是否在支持受限委托的系统上运行。如果是,请尝试更改上面提到的信任选项。
https://stackoverflow.com/questions/72651807
复制相似问题