从 Javascript 调用 SAML IdP

2024-01-07

我再次需要社区的明智建议!

我必须在我的 SSO 系统中集成多个 Web 应用程序。 IdP 是 Active Directory 联合服务 (ADFS2),SP 是 Weblogic 托管服务器。我在 Web SSO 配置文件中对 SP 启动的用例使用 HTTP-POST 绑定。

此设置有效,甚至我已经实现了 WLS 的 SLO,太棒了!但是,总有一个但是...我有一个可以供未经身份验证的用户访问的应用程序,来宾用户。当用户通过身份验证时,他/她将看到不同的信息。

您认为实现这一目标的最佳方法是什么?

我正在尝试通过 JavaScript 调用 IdPXMLHttp请求,但它没有像我预期的那样工作...我的想法不是自己构建 SAMLRequest。也就是说,我不是直接调用 IdP,而是请求我的应用程序的安全资源。通过这种方式,Weblogic 向 IdP 发出请求(302 重定向)。基本上我的想法是下一个:

  1. 在我的 web.xml 中声明安全约束:

    <security-constraint>
    <web-resource-collection>
        <web-resource-name>secure</web-resource-name>
        <url-pattern>/secure/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>FederatedUsers</role-name>
    </auth-constraint>
    
  2. 调用安全资源(感谢 w3schools!):

    <script type="text/javascript">
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET", "secure/login?action=sample/hello.jsp", false);
    xmlhttp.send();
    xmlDoc = xmlhttp.responseXML;
    
  3. 安全资源的实现只是一个servlet重定向到原始资源:

        // Get the parameter "action" and redirect 
    resp.sendRedirect(req.getParameter("action"));
    

如果我们看一下请求流程,或多或少它就达到了目的:

  1. http://spHost/sample/helloXmlHttpRequest.jsp http://spHost/sample/helloXmlHttpRequest.jsp
  2. http://spHost/sample/secure/login?action=sample/hello.jsp http://spHost/sample/secure/login?action=sample/hello.jsp
  3. HTTP/1.1 302 暂时移动 -->https://idpHost/adfs/ls/?SAMLRequest= https://idpHost/adfs/ls/?SAMLRequest=...

但最后我得到了error in the xmlhttp.send(): 组件返回失败代码:0x80004005 (NS_ERROR_FAILURE)

我也在尝试做令人讨厌的伎俩就像获取一个内容iframe、元素,或者只是在脚本标记中调用安全资源:

<script type="text/javascript" src="secure/login">

最后这个问题“解决方案”是我无法获取 HTML 代码。

有任何想法吗?也许 ADFS2 提供任何 REST 服务或类似的东西......

提前致谢,

Luis


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Javascript 调用 SAML IdP 的相关文章

  • 向 FTP 服务器执行跨域 XMLHTTPREQUEST 的语法是什么?

    我有一个 webDav CORS 插件 可以使用它在 webDav 服务器上 POST PUT GET REMOVE ALLDOCS 文件 我现在想对 FTP 做同样的事情 但我正在努力获取xmlhttprequest 工作语法 我只是收到
  • Rails - 使链接与 ajax 一起工作

    我有一个链接 应该使用 ajax 加载它旁边的部分内容 而无需重新加载页面 链接在这里 这是链接应该转到的控制器 class ProfilesController lt ApplicationController def profile f
  • AJAX jQuery.load 与 jQuery.get

    使用 jQuery 进行 AJAX 调用时 什么时候应该使用 load url data callback 方法 什么时候应该使用 jQuery get url data callback type 方法 首先这两个功能是完全不同的 loa
  • 如何创建适用于 iPhone、iPad 和 Android 的 Extjs 应用程序?

    有人成功创建了适用于 iPhone iPad 和 Android 的 Extjs 应用程序吗 我知道 Sencha 不支持移动设备上的 Extjs 但我不想创建另一个仅针对移动设备的网站 我不需要奇特的移动界面 只需要基本的功能 我做了一些
  • 如何从 jquery .load 获取 php 响应

    例如我给出另一个代码 这是我的 some3 php 代码 第一个文件
  • Cakephp - CSRF 令牌不匹配

    我在 Cakephp 3 6 中有一个项目 其中 MessageController 中的 3 个操作由 Ajax 调用 但是 我有一个问题 当我向其中一个操作发送请求时 XHR 会向我返回以下内容 message CSRF token m
  • 如何在没有数据库的情况下创建AJAX分页?

    是否可以在没有 MySQL 帮助的情况下获取 AJAX 分页页面 难道我不能只添加一个包含我需要显示的文本和标记的 PHP 文件 然后通过单击页码将该内容提供给用户吗 那么可以用纯 jQuery 和 PHP 来实现吗 您会使用什么代码方法来
  • jquery ajax“发布”调用

    我是 jQuery 和 Ajax 的新手 并且在 发布 方面遇到问题 我正在使用 jQuery Ajax post 调用将数据保存到数据库 当我尝试保存数据时 它将 null 传递给我的 C 方法 jQuery 看起来像这样 functio
  • JQuery Ajax 和将多个复杂对象发布到 asp.net MVC 控制器

    您好 将多个参数发布到 mc 控制器方法时出现问题 controller HttpPost public ActionResult SaveSomething SomeDomainObject domainObject bool anOpt
  • 上传进度条 Java Servlet?

    我想使用 servlet 显示上传进度条 我尝试过Ajax iFrame 技术 页面没有重新加载 文件也被上传 但是 进度条没有出现 有没有可用于 javaservlts 的 jQuery 进度插件 Thanks 我强烈推荐jQuery 上
  • 如何使用重复的键动态生成 JSON 对象?

    我知道这听起来不可能 但我的老板告诉我 我必须使用 jQuery 通过 AJAX 后调用发送 JSON 并且必须具有重复的键 问题是 如果我写这样的东西 post someurl key1 value1 key2 value2 key2 v
  • ASP.NET JQuery AJAX POST 返回数据,但在 401 响应内

    我的应用程序中有一个网页 需要调用我设置的 Web 服务来返回对象列表 这个调用是这样设置的 document ready function var response ajax type POST contentType applicati
  • 如何轻松地将 Ajax、perl 和 JSON 结合使用?

    我正在尝试使用 Ajax 制作一个网页 Example 我创建了一个 Perl CGU 文件来触发一个简单的帖子 文件 test cgi name 托马斯 回复短信 你的名字是托马斯 我创建了一个可以使用该帖子的 html 文件 但随后页面
  • 添加选项以选择框而不用 Internet Explorer 关闭该框?

    我正在尝试构建一个包含多个下拉选择框的网页 这些下拉选择框在首次打开时异步加载其选项 这在 Firefox 下工作得很好 但在 Internet Explorer 下则不然 下面是我想要实现的目标的一个小例子 基本上 有一个选择框 ID 为
  • 使用 AJAX 和 Jquery 自动完成功能填充表单数据

    我想使用自动完成所选项目来填写表单数据 我的自动完成工作正常 但我无法弄清楚如何通过从自动完成文本框中检索项目来填写表单数据 这是我的代码 HttpPost public JsonResult GetAutocomplete string
  • json_encode 创建格式错误的 JSON 数据?

    我有一个 codeigniter 应用程序将一些数据从数据库返回到视图 我正在尝试将其作为 json 数据发送回来 问题是返回的数据格式错误 它看起来像这样 2 5 Admin1 2 10 Admin2 当我在 jsonlint com 上
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • 将列名称与具有 AJAX 数据源的 DataTable 一起使用

    我正在尝试升级我的系统以使用 DataTables 1 10 而不是 1 9 并且我正在尝试找到一种使用 JSON 对象而不是列表传回行内容的方法 具体来说 而不是以格式传回数据 data data data data data data
  • 简单 AJAX Get 请求“待处理”

    我正在尝试实现一个简单的 AJAX GET 请求 该请求告诉服务器删除数据库中的文档 虽然我从服务器得到文档已删除的确认 但 Chrome 检查器显示该请求处于 待处理 状态 最终导致服务器错误 我做错了什么 HTML div class
  • Rails 4 使用 ajax、jquery、:remote => true 和 respond_to 渲染部分

    使用 AJAX 动态渲染页面以响应提交的表单似乎很常见 其他类似的问题都没有集中于如何以一般方式做到这一点 我能找到的关于这个主题的最好的博客文章在这里 http www gotealeaf com blog the detailed gu

随机推荐

  • NATS 与分子。如何更改 NATS max_payload 值?

    我的问题是我需要增加 NATS 收到的 max payload 值 但我不知道在哪里可以做到这一点 该项目使用 Moleculer NATS 是通过 docker 创建为容器 当我尝试发出大于 1MB NATS 的请求时返回 ERROR N
  • Linq 仅查询每个唯一 ID 的前 N ​​行

    假设我有一个IQueryable这将返回一个数据类型ID属性 列 我想进一步过滤我的查询 我不想评估查询 如下 对于每一个独特的ID从主查询中 我想Take n where n是某个任意数 也就是说 我只想保留第一个n每个唯一 ID 的行
  • 如何在 IntelliJ IDEA 中使用“自定义 jar”?

    我正在尝试设置 IntelliJ IDEA 尝试了 12 和 13 Mac 以使用包含 Java 应用程序的 jar 文件的 Java 类 我已通过以下过程将 jar 设置为模块依赖项 从 项目窗口 开始 选择我的主Java模块 使用菜单文
  • Swift 异步 let 带循环

    我想并行获取数据 我找到了一个并行调用 API 的示例 但我想存储async let variables与循环 异步让我们举个例子 但是 此示例未使用循环 async let firstPhoto downloadPhoto named p
  • 使用 lapply 编写 data.frames 列表以分隔 CSV 文件

    问题说明了一切 我想获取一个充满 data frames 的列表对象 并将每个 data frame 写入一个单独的 csv 文件 其中 csv 文件的名称对应于列表对象的名称 这是一个可重现的示例以及我迄今为止编写的代码 df lt da
  • 带有 php 服务器套接字的 TLS

    Hi我的问题是 我的服务器端代码 编写为 php 中有一个打开的套接字 我需要转换此套接字以使用 TLS 在将流传递给使用清晰流的现有代码之前对流进行协商和描述没有加密 归档这个最简单的解决方案是什么 PHP 支持使用流上下文的 TLS S
  • Amazon Cognito 删除帐户

    我有 Amazon Cognito 用户池 其中添加了很少的用户 我已添加触发器以在发布确认后调用我的 Lambda 函数 我们在 Cognito 中是否有任何触发器在 用户注销 和 删除用户 之后调用 Lambda 函数 我在 Cogni
  • 如何使用 Unity WebCamTexture 保存 png

    我想使用设备本机相机保存图片 目前我无法将图像保存到文件中 我有一个原始图像 其纹理是本机设备相机图像 我正在从原始图像中获取字节并编码为 png 然后我将 png 写入我的计算机上的文件中 public WebCamTexture web
  • C# azure storage download 中路径访问被拒绝

    从天蓝色存储下载文件时 我遇到访问路径被拒绝的异常 下面是代码片段 string path c TEMP Retrieve storage account from connection string CloudStorageAccount
  • UITableViewCell 带有操作的按钮

    您好 我有一个自定义 UITableViewCell 带有三个按钮来处理购物车功能 加号 减号和删除按钮 我需要知道哪个单元格已被触摸 我已经尝试使用 标签解决方案 但由于细胞的生命周期 它不起作用 谁能帮我找到解决方案吗 提前致谢 我使用
  • 为什么我收到错误“MyActivity 不是封闭类?”

    我有一个 libgdx 程序 它以以下类开头 public class MyActivity extends AndroidApplication implements IActivityRequestHandler 我需要有一个Activ
  • Vuex axios调用无法处理422响应

    我正在尝试处理来自 API 的 422 响应 以防在进行异步 Axios 调用时数据无效 在组件中 我有一个类似的方法 async saveChanges this isSaving true await this store dispat
  • javax.imageio.IIOException:无法从 URL 获取输入流!

    我用java代码编写了一段代码来保存指定链接中的图像 它大部分工作正常 但有时它会抛出异常 即 javax imageio IIOException 无法从 URL 获取输入流 在 javax imageio ImageIO read Im
  • MySQL Select 和 IF() 语句

    我对 MySQL 有点陌生 我需要帮助 我有一张桌子Invoices和一张桌子Payments 我无法生成显示所有已支付发票的报告In Full or a Partial Payment已于 2019 年 12 月 31 日收到 一张发票可
  • OpenCL 内核未矢量化

    我正在尝试构建一个内核来进行并行字符串搜索 为此 我倾向于使用有限状态机 fsm 的转换表位于内核参数状态中 代码 kernel void Find constant char text const int offset const int
  • java:关闭子进程std流?

    来自 javadocjava lang Process http download oracle com javase 1 5 0 docs api java lang Process html 创建进程的方法可能不适用于某些本机平台上的特
  • scapy中sniff函数的过滤器无法正常工作

    看来filter of sniff功能无法正常工作 我正在使用以下过滤器执行嗅探 a sniff count 1 filter tcp and host 192 168 10 55 and port 14010 但有时sniff抓住一个UD
  • 在 Heroku 上部署时找不到模块错误

    我正在尝试将 Github 上的应用程序部署到 Heroku 但出现错误 src Index tsx 中出现错误 找不到模块 错误 无法解析 app src 中的 ConfigureStore src Index tsx 9 23 50 当
  • 预计响应会成功,但结果是 302

    我有以下文章控制器 def myarticles myarticles current student articles all respond to do format format html format xml render xml
  • 从 Javascript 调用 SAML IdP

    我再次需要社区的明智建议 我必须在我的 SSO 系统中集成多个 Web 应用程序 IdP 是 Active Directory 联合服务 ADFS2 SP 是 Weblogic 托管服务器 我在 Web SSO 配置文件中对 SP 启动的用