从 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 的相关文章

  • jQuery ajax表单多次提交

    我在使用 jQuery ajax 表单提交多个表单时遇到一些问题 我通过在服务器上打印表单提交的每个实例发现了这一点 并发现表单会正确提交一次 然后再次提交多次 需要明确的是 这段代码在第一次提交时可以 100 正确运行 但是当我单击表中的
  • 当变量更新时动态刷新模板的一部分golang

    在Golang中 当变量更新时可以刷新模板的一部分吗 例如 我们可以在 Angular js 中找到这一点 基本上在我的代码中 我通过 ajax 中的邮政编码查找地址 它显示我找到的该邮政编码的用户列表 Here is a sample o
  • 在窗口卸载之前调用 jquery ajax 函数的最终方法是什么?

    我需要在窗口卸载之前调用 jquery ajax 函数 就我而言 它是一个 POST 我不关心返回结果 我只想更新数据库 所以答案似乎是将一个函数绑定到 unload 事件 即使用 jquery unload 函数 并且该函数进行 ajax
  • 在 Django 中 AJAX 发布后重定向

    我使用 Django 的内置 DeleteView 并为success url属性 现在在我的模板中 我通过 JQuery 的 post 方法触发此视图 当该项目被删除时 我不会被重定向到success url 经过一番查找 发现好像是AJ
  • 两个 $.post 请求一个接一个。第二个 $.post 请求未执行

    我有一个 javascript 函数 其中有两个 post 请求 两个 post 请求都应该被执行 但有时 第二个 post 请求不会被执行 这可能是什么原因 post 是 ajax 结构的缩写形式 我通常更喜欢使用 ajax 结构因为 更
  • 使用 Python 从基于 AJAX 的网站提取信息

    我正在尝试使用 Python 检索基于 ajax 的网站 例如 www snapbird org 上的查询结果 由于它没有显示在页面源中 我不确定如何继续 我是一个Python新手 因此如果我能得到一个指向正确方向的指针那就太好了 如果更容
  • 如何在 gridview 内添加级联下拉菜单以进行编辑?

    我有一个相当标准的 ASP NET GridView 它显示具有父子关系的 2 列 尽管数据库中存在 A 列和 B 列之间的关系 但 GridView 并未实现它 我想做以下事情 当用户选择编辑该行时 将显示 2 个下拉菜单 DropDow
  • jQuery 查找和替换导致浏览器挂起!数据量太大?

    在 kalley 的大量帮助下 我们发现如果我注释掉以下两行 LAG 就会消失 var tableContents table find tbody var html tbody tbody html data 但是我如何保留上述内容但取消
  • 有没有办法从 javascript 中的子函数调用父函数的 Return ?

    我遇到了一个非常特殊的案例 我想要return一些数据 通过ajax下载的数据 到目前为止 异步和同步模式无法及时获取数据return 我可以打电话吗return从子函数到父函数或者超时可以解决问题吗 我想不出另一种方法来做到这一点 但数据
  • 使用 javascript 而非 jQuery 的简单 ajax 表单

    我正在使用一个表单 其标记我无法更改且无法使用 jQuery 目前 该表单将结果发布到新窗口 是否可以将其更改为 ajax 表单 以便在提交时显示结果而不更改任何标记 将结果 标记 从结果页面拉回到表单页面 这是表单的标记
  • 未为 OPTIONS Ajax 请求设置标头

    我有一个ascx page GetToken ashx public void ProcessRequest HttpContext context context Response ContentType text plain conte
  • 使用 Laravel 在 Bootstrap 模式中动态加载表单

    我正在开发应用程序 它需要引导模式中的表单 并且还动态加载表单 我面临的问题是所有页面都再次以模式加载 这里有人为此提供任何例子吗 控制器 public function loadJsModalForm return View make f
  • JQuery - 使用 JSON 的属性创建输入

    我正在尝试使用 JSON 设置的 id 和 value 属性创建一个输入 我有一个获取 JSON 的 ajax 调用 返回的数据很好 对于 JSON 中的每个对象 我想创建一个带有 ID 和 JSON 值的按钮 阿贾克斯调用 ajax ty
  • jquery ajax错误回调

    我在这里需要一些建议或者一些解释 我有一个 jquery ajax 调用 ajax type GET url base url ajax fetch counts dataType json data error function xhr
  • 为什么我收到此错误:“未捕获类型错误:无法读取未定义的属性“标题””?

    我正在尝试写一个ajax网络应用程序 我有一个函数应该请求一个json对象 然后使用它来重新 填充网站 这里是JavaScript有问题 第 8 16 行 window onload LoadData Home var doc functi
  • f:ajax 不工作

    我很难得到f ajax从事某项工作h panelGroup 这就是我正在做的 JSF 代码
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p
  • CORS 在 jquery 中工作正常,但在 angularjs 中不行

    我的服务器端是php mysql 我正在另一个域的 Web 服务中进行 Ajax 调用 其中启用了 的访问控制 var postUrl http logical brains com elance clone test login php
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX

随机推荐

  • 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 启动的用