当前位置: 首页 > 知识库问答 >
问题:

如何将Spring SAML示例应用程序连接到Weblogic IDP?

应子真
2023-03-14
    null
Jun 17, 2015 10:33:31 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception [org.opensaml.ws.message.encoder.MessageEncodingException: Unable to builder artifact for message to relying party] with root cause
    org.opensaml.ws.message.encoder.MessageEncodingException: Unable to builder artifact for message to relying party
            at org.opensaml.saml2.binding.encoding.HTTPArtifactEncoder.buildArtifact(HTTPArtifactEncoder.java:232)
            at org.opensaml.saml2.binding.encoding.HTTPArtifactEncoder.getEncode(HTTPArtifactEncoder.java:195)
            at org.opensaml.saml2.binding.encoding.HTTPArtifactEncoder.doEncode(HTTPArtifactEncoder.java:137)
            at org.opensaml.ws.message.encoder.BaseMessageEncoder.encode(BaseMessageEncoder.java:52)
            at org.springframework.security.saml.processor.SAMLProcessorImpl.sendMessage(SAMLProcessorImpl.java:227)
            at org.springframework.security.saml.processor.SAMLProcessorImpl.sendMessage(SAMLProcessorImpl.java:195)
            at org.springframework.security.saml.websso.AbstractProfileBase.sendMessage(AbstractProfileBase.java:144)
            at org.springframework.security.saml.websso.WebSSOProfileImpl.sendAuthenticationRequest(WebSSOProfileImpl.java:105)
            at org.springframework.security.saml.SAMLEntryPoint.initializeSSO(SAMLEntryPoint.java:226)
            at org.springframework.security.saml.SAMLEntryPoint.commence(SAMLEntryPoint.java:153)
            at org.springframework.security.saml.SAMLEntryPoint.doFilter(SAMLEntryPoint.java:107)
            at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
            at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
            at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
            at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
            at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
            at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
            at org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:87)
            at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
            at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
            at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
            at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
            at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
            at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
            at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
            at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
            at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)
    null

我试图使示例应用程序针对Weblogic IDP和Shibboleth IDP进行身份验证,但我没有设法使其工作。不是配置不完整就是我缺少了一些基本的东西。

共有1个答案

仲孙鸿飞
2023-03-14

1.添加凭据映射

要启用SAML功能,我们首先需要添加一个凭据映射。打开Weblogic管理控制台

http://server:port/console
e.g.
http://127.0.0.1:7101/console

1.1.添加映射条目

Security Realms > myrealm > Providers > Credential Mapping
    null

例如http://www.server.com/issuer

保存映射

2.配置SAML属性

    null

必须与凭据映射中的颁发者URI相同。

2.3.切换到“SAML 2.0标识提供程序”选项卡

  • 选中“已启用”复选框。
  • 选择POST作为首选绑定。
  • 保存设置。
  • 单击“发布元数据”按钮。
  • 为元数据文件选择文件名
    • 通过在“路径”文本字段中输入路径/文件名
    • 或选择目录结构中的现有文件(必须选中“覆盖”复选框才能覆盖该文件)

    3.2.在服务提供程序应用程序中使用元数据文件

    服务提供商应用程序需要知道在哪里找到IDP。此信息包含在IDP元数据文件中。

    • 导航到前面创建的凭据映射。
    • 转到“管理”选项卡。
    • 创建新的Web单一登录服务提供商合作伙伴。
    • 选择名称(或保留默认值)
    • 通过导航到目录并选择目录结构中的现有文件来选择SP元数据html" target="_blank">文件
    • 单击“确定”保存新伙伴。
    • 单击新的服务提供商合作伙伴。
    • 选中“已启用”复选框。
    • 单击“保存”。

    链接

    • 单点登录
    • SAML 2.0
    • 配置SAML 2.0服务
    • 配置SAML 2.0标识提供程序服务

 类似资料:
  • 问题内容: 我已经用create-react- app构建了一个Todo应用。我正在使用的商店基于本地存储(对象窗口的JS属性)。现在,我创建了一个MySQL数据库,并希望连接到该数据库,因此状态将显示数据库中的值,并将通过操作进行更新。 我尝试使用db.js通过“节点”控制台连接到数据库并输出值。有用。 是否可以使用此脚本将应用程序的状态连接到数据库? 问题答案: 您无法直接连接它们。 在网络浏

  • 问题内容: 我已经安装了MySQL(最新更新)。我需要编写代码,这将创建并与SQL DB建立连接并管理DB(使用SELECT,INSERT,CREATE)。 我已完成所有操作,但无法建立连接。我还安装了MySQL / J连接器,我只是将包提取到一个文件夹中,并在 Variables中 添加了文件夹路径。 谁能告诉我下一行中的URL是wat的意思吗? 我已经试过了: 但这不起作用。我无法理解术语“

  • 我目前正在进行一个项目,我们将数据存储在Azure Datalake上。Datalake与Azure Databricks挂钩。 该要求要求 Azure 数据砖连接到 C# 应用程序,以便能够运行查询并从 C# 应用程序获取全部结果。我们目前解决这个问题的方式是,我们已经在Databricks上创建了一个工作区,其中包含许多需要执行的查询。我们创建了一个链接到上述工作区的作业。从 C# 应用程序中

  • 问题内容: 我已经在Eclipse中生成了Android项目,并且一切正常。我添加了一些事件按钮。现在,我正在尝试创建Mongo对象,但会引发错误。你有什么解决办法吗?是否可以同时连接这两个? 日志: 问题答案: 此驱动程序不支持Android。吉拉有一个未解决的问题。

  • 我的应用程序是用Flatter和Firebase RTDB(数据库1)开发的。它是为IOS和Android构建的。 我有一个使用JS和Firebase RTDB(数据库2)开发的辅助应用程序。它是为Web创建的。 现在,我想从我的Flatter应用程序中写入数据库2。我应该一步一步地做什么? 我尝试使用以下方法应用添加多个项目: 但我不确定这是否是一个安全的过程,我不知道如何调用辅助数据库实例..