linux - 使用 Weblogic 11g OEL 的 SSO 配置

标签 linux oracle weblogic single-sign-on kerberos

我在通过 AD 用户访问 SSO 应用程序时在 Weblogic 中收到以下错误。

> <> <> <1471875042422> <BEA-000000> <com.bea.common.security.internal.legacy.service.ChallengeIdentityAssertionProviderImpl$ChallengeIdentityAsserterV2Adapter.assertChallengeIdentity(Authorization.Negotiate)>
####<22-Aug-2016 15:10:42 o'clock BST> <Debug> <SecurityAtn> <ndl-wln-100.centricait.com> <ND_Manage1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1471875042422> <BEA-000000> <GSSExceptionInfo:>
####<22-Aug-2016 15:10:42 o'clock BST> <Debug> <SecurityAtn> <ndl-wln-100.centricait.com> <ND_Manage1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1471875042423> <BEA-000000> <   major: (13) : No valid credentials provided>
####<22-Aug-2016 15:10:42 o'clock BST> <Debug> <SecurityAtn> <ndl-wln-100.centricait.com> <ND_Manage1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1471875042423> <BEA-000000> <   minor: (-1) : Failed to find any Kerberos credentails>
####<22-Aug-2016 15:10:42 o'clock BST> <Debug> <SecurityAtn> <ndl-wln-100.centricait.com> <ND_Manage1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1471875042423> <BEA-000000> <acceptGssInitContextToken failed
com.bea.security.utils.kerberos.KerberosException: No valid credentials provided (Mechanism level: Failed to find any Kerberos credentails)
        at com.bea.security.utils.kerberos.KerberosTokenHandler.acceptGssInitContextTokenInDoAs(KerberosTokenHandler.java:334)
        at com.bea.security.utils.kerberos.KerberosTokenHandler.access$000(KerberosTokenHandler.java:41)
        at com.bea.security.utils.kerberos.KerberosTokenHandler$1.run(KerberosTokenHandler.java:226)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
        at com.bea.security.utils.kerberos.KerberosTokenHandler.acceptGssInitContextToken(KerberosTokenHandler.java:224)
        at com.bea.security.utils.kerberos.KerberosTokenHandler.acceptGssInitContextToken(KerberosTokenHandler.java:152)
        at com.bea.common.security.internal.utils.negotiate.SPNEGONegotiateToken.getUsername(SPNEGONegotiateToken.java:57)
        at weblogic.security.providers.authentication.NegotiateIdentityAsserterProviderImpl.assertChallengeIdentity(NegotiateIdentityAsserterProviderImpl.java:210)
        at com.bea.common.security.internal.legacy.service.ChallengeIdentityAssertionProviderImpl$ChallengeIdentityAsserterV2Adapter.assertChallengeIdentity(ChallengeIdentityAssertionProviderImpl.j

我已经使用 kinit -V -k -t negotestserver.keytab HTTP/WL-HOST@MYDOMAIN.COM 验证了 key 表,它已成功通过身份验证。想知道这个问题的解决方案是什么,我们将不胜感激。

最佳答案

很可能从浏览器发送到 Weblogic 的票不是 Kerberos 票,而是 NTLM。 IE 使用 NTLM 而不是 Kerberos 的原因有很多,大多数情况下是不正确的设置或 Windows 设置。你能检查你日志中的票吗?如果它看起来像这样:

YIGCBgYrBgEFBQKgeDB2oDAwLgYKKwYBBAGCNwICCgYJKoZIgvcSAQICBgkqhkiG9xIBAgIGCisGAQQBgjcCAh6iQgRATlRMTVNTUAABAAAAl7II4g4ADgAyAAAACgAKACgAAAAGAbEdAAAAD0xBUFRPUC0yNDVMSUZFQUNDT1VOVExMQw==

这是 NTLM。 Kerberos 票据至少是两倍长。

关于linux - 使用 Weblogic 11g OEL 的 SSO 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083051/

相关文章:

linux - 如何根据操作系统版本从剪贴板复制/粘贴到 tmux?

linux - 为什么 do_execve() 会分两步而不是一步执行可执行验证检查?

linux - 使用 sed 命令替换文件内容

java - 我的 Oracle SQL 语句有什么问题?我不断收到“此处不允许列”错误?

sql - Oracle - GROUPING_ID 和 GROUPING SETS

sql - 如何处理 Oracle SQL 中的无效日期

weblogic - 是否有可用于集群 Oracle WLS EJB 的注释?

java - 连接关闭,检测到 EOF

wcf - 如何使用 WCF 签署 X509 token

php - 服务器崩溃可能会泄露php源代码?