我想在weblogic上使用活动目录进行SSO。我在网上找到了非常有用的信息。但在所有情况下都提到了如何为AD身份验证配置weblogic。 但我的问题是用户名将如何从apache webserver传递到weblogic。 如果我们不能在weblogic中获得用户名,那么SSO就无法工作。 如果有人对weblogic服务器上的SSO AD身份验证有任何想法(用户名从apache webserver传递),请分享。
答案 0 :(得分:0)
这取决于您如何设置与weblogic的连接。如果你从apache连接,你使用什么方法?如果它作为代理工作,例如从浏览器,您可以尝试转发凭据。它是一个Web服务,您需要实现一些时尚,例如标题中的BASIC身份验证。只要您可以传递凭据,就可以管理SSO。
通常对于SSO,你会在一个域上有一个浏览器,比如IE,因为它可以在没有进一步配置的情况下使用kerberos,它将连接到weblogic服务器。它会将票证传递给weblogic,它作为TGT到活动目录。这允许weblogic然后返回一个令牌,授予客户端对应用程序的访问权限。如果没有这种类型的连接(即浏览器到weblogic),您需要实现一些方法来确定如何登录weblogic-否则谁将从apache登录到应用程序?作为域帐户,它本身是apache吗?假设您需要来自客户端的SSO,您需要客户端将其凭据传递给apache(需要以某种方式转发它们)或weblogic。 Weblogic支持SAML 1.1(我不认为它本身就是2.0,但您可以使用扩展添加它),可用于将详细信息从源转发到目标以执行身份验证 - 这是您可能想要查看的内容。两个weblogic域之间存在weblogic文档,因此您可以将其用作创建目标的起点。 (不想根据您使用的weblogic版本链接文档)
答案 1 :(得分:0)
我从未使用Apache进行过Kerberos设置,但是已经使用IIS完成了数十次,并且IIS上没有需要针对Kerberos进行修改的设置,因此我猜测它应该与Apache相同。只要它将请求转发给Weblogic,你应该没问题。 您的Apache的URL应该位于AD上的SPN中。每当您尝试在登录到AD域的计算机上的Internet Explorer中打开它时,Internet Explorer将询问AD是否有为此URL注册的任何服务,并且一旦AD找到与该URL匹配的SPN,它将发出包含的Kerberos票证,除其他外,您的域用户名和服务主体。 Weblogic将获取此票证并将其中的服务主体与其keytab文件中的服务主体进行比较。一旦找到匹配(我省略了无聊的加密/解密详细信息),它就会知道您确实是该域的成员,并且您的用户名被认为是有效的。