我正在尝试从信息中心获取SSO Kerberos示例代码,用于P8 Filenet工作:
https://www.ibm.com/support/knowledgecenter/SSGLW6_5.5.0/com.ibm.p8.ce.dev.ce.doc/sec_procedures.htm#sec_procedures__sec_procedures_kerberos
KerberosCredentials creds = new KerberosCredentials();
ClientContext.SetThreadCredentials(creds);
IConnection conn = Factory.Connection.GetConnection(strURI);
IDomain domain = Factory.Domain.GetInstance(conn, strP8Domain);
我们得到以下异常:
FNCRE0066: E_UNEXPECTED EXCEPTION
WSE594: InitializeSecurityContext call failed with the following error message: The network path was not found.
搜索并没有产生太多信息。我发现的最好的线索是提到帐户"sc服务"在我们的域下没有正确配置。当我为我的用户id设置spn-L时,它发现它没有问题。当我为sc服务做同样的事情时,它找不到它。
然而,那篇文章是13多年前的事了,我找不到任何参考资料说我们需要为Kerberos SSO配置"sc服务"才能工作。
请帮忙。
不确定您的环境设置是什么样的,但这里有几个指针可能会有所帮助:
-
在跨域/领域Kerberos设置中,由于服务器名称不明确(通过在林中多次出现,或者如果较短的形式与外部双向信任或可传递双向信任一起使用(,使用较短的SPN是引发(未找到网络路径(异常的原因之一。如果是这种情况,请尝试添加"@"限定符(例如FNCEWS/myce01@MYDOM.EXAMPLE.COM)到SPN(如果您还没有(。来源:https://www.ibm.com/support/knowledgecenter/SSGLW6_5.5.0/com.ibm.p8.security.doc/p8psn035.htm
-
对于基于群集的内容平台引擎,任何单个SPN都不应映射到多个身份帐户,如果不能确保这一点,则会导致异常。来源:https://www.ibm.com/support/knowledgecenter/SSGLW6_5.5.0/com.ibm.p8.security.doc/p8psn034.htm