在Windows Tomcat环境中使用Spnego/Kerberos获得了一个完全正常工作的SSO解决方案,该解决方案允许使用我的Windows域用户通过JTOpen与IBMi建立连接,然后JTOpen使用EIM将我的Windows用户Map到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错误。
1条答案
按热度按时间lf5gs5x21#
我面临着同样的问题与相同的输出。
您的KDC服务器是否在Server 2012或更早版本上运行?
在我的例子中,解决方案是改变KDC上SPN的设置。不要委托给任何Kerberos服务,而是尝试使用选项“Trust the user for delegation to specified services only”,然后“Use any authentication protocol”将您的服务:
网站首页/ibmi. MYDOMAIN@我的域
在名单上
查看this文章,了解有关受约束委派的问题
因此您应该检查您的KDC是否在支持约束委派的系统上运行。如果是,请尝试更改上面提到的信任选项。