在 SSO 身份验证后设置 FormsAuthentication

2023-12-07

我的 ASP.NET MVC 4 应用程序通过在 IIS 上运行的 ISAPI 筛选器受 SSO (OAM) 保护。当收到对我的应用程序的请求时,ISAPI 过滤器会拦截该请求并将其重定向到 SSO。用户必须登录 SSO,然后返回到我的应用程序。

经过身份验证的用户的用户名(通过 SSO)与我的应用程序在 HTTP 请求标头中共享。

Request.Headers["username"]

我想要实现的是- SSO认证后,设置FormsAuthentication在我的申请中username = Request.Headers["username"]。这样,SSO 对我的应用程序保持透明,并且用户身份在 HttpContext 对象中可用,此外,我(开发人员)可以有效地利用特定角色的 Authorize 属性。

为了实现这一点-我连接到Session_Start(), read Request.Headers["username"], Set FormsAuthentication曲奇饼。我为我的应用程序获得了经过表单验证的 SSO 用户。

但我的问题是当我注销时(FormsAuthentication.Signout),我将其重定向到应用程序内的另一个页面,这会触发一个新的会话(我可以看到发生这种情况时 Session_Start 触发)

我是否在做正确的事情 - SSO 之后的 FormsAuthentication?如果不是,为什么不呢?然后我如何让我的应用程序了解 SSO 身份验证的用户?


在使用单点登录提供商进行身份验证后,使用 FormsAuthentication cookie 来跟踪应用程序中的登录用户是完全合理的。您没有显示它,但我希望您也能获得一些票证,您可以使用它来验证 SSO 提供商带外登录的用户,而不是简单地信任username header.

但是,您可能会看到,当您从应用程序中注销用户时,用户并未从 SSO 提供商注销。因此,只要他们拥有 SSO 提供商的有效 cookie,他们就会保持登录状态,即用户将自动从 SSO 提供商弹回到您的应用程序,而无需任何所需的身份验证。

这很不幸,但却很正常。

如果您确实希望用户注销,则需要使用集中注销功能。我没有使用过 OAM,但它似乎确实支持这一点:http://docs.oracle.com/cd/E21764_01/doc.1111/e15478/logout.htm

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

在 SSO 身份验证后设置 FormsAuthentication 的相关文章

随机推荐

  • Access SQL 中的 Select Case 等效项是什么?

    我有一个查询 其中包含名为的字段期初余额 and 佣金 我想计算值佣金基于期初余额 与此类似Select CaseAccess VBA 中的块 Select Case OpeningBalance Case 0 To 5000 commis
  • Genymotion 初始化引擎:IntelliJ 中失败

    我下载了 Genymotion 和 Genymotion IntelliJ 插件 我在 Intellij 中设置了 Genymotion 路径 指示 https cloud genymotion com page doc collapse
  • cmis或web脚本使用?

    我想使用 alfresco 和 activiti 工作流引擎构建一个 JavaEE GED 应用程序 用于管理和监控组织的邮件 信件 传真 邮件等 由于我是 alfresco 的新手 我想知道在我的情况下与 alfresco 进行通信的最佳
  • 将自定义图像显示为 geom_point [重复]

    这个问题在这里已经有答案了 是否可以在 R ggplot 中将自定义图像 例如 png 格式 显示为 geom point library png pic1 lt readPNG pic1 png png Heatmap png units
  • 使用 JSR-223 从 Jython 脚本获取数据

    我正在使用 Jython 2 5 1 和 JSR 223 即 javax script 包 并且我希望返回 Python 脚本的最后一行 例如 在评估此脚本后 class Multiplier def multiply self x y r
  • 如何将值从 Red/System 传递到 Red?

    我需要将在 Red System 中生成的值传递给 Red 我发现了文档 但没有找到如何使用它的示例 这是我的代码 Red system data alias struct a integer b c string data declare
  • 在 CSS 中强制孩子服从父母的弯曲边框

    我有一个 div 位于另一个 div 中 outer and inner outer有弯曲的边框和白色的背景 inner没有弯曲的边框和绿色背景 inner延伸到弯曲边界之外 outer 有办法阻止这一切吗 outer display bl
  • 在 Linux shell 脚本中并行运行 python 命令

    我有一个脚本 它通过命令行参数从用户那里获取输入 它处理参数并开始运行 python 命令 例如 run sh p1 p2 p3 p4 python abc py p1 p4 python xyz py p2 p3 where p1 p2
  • CSS/JS 解决方案:在子元素悬停时,更改父 div

    我知道CSS是 级联 的 但在这种情况下我希望效果上升 我对 JS 或 CSS 解决方案持开放态度 但老实说 我更喜欢代码量或开销最少的解决方案 当我将鼠标悬停在 子 字母上时 我希望整个窗口的整个背景颜色发生变化 而不仅仅是子元素 每个字
  • 直接改变状态和forceUpdate()与setState的缺点

    React 文档说Never mutate this state directly as calling setState afterwards may replace the mutation you made Treat this st
  • 在XML Schema中,混合内容可以限制文本的类型吗?

    在 XML 模式中 可以在一个对象上使用 mixed 属性
  • 将鼠标悬停在子项上应关闭对父项的悬停效果[重复]

    这个问题在这里已经有答案了 我有两个嵌套的div s div class parent div class child div div 我想改变background from parent当我将鼠标悬停在 parent 我想要backgro
  • JAXB 和类实例化

    阻止使用像 JAXB 这样的绑定技术而不是经典的基于 dom sax 的 xml 技术的一件事是 在读取 xml 时 它似乎强烈面向实例化它管理的类 很多时候 我想从 xml 读取值并将它们设置为已创建实例的属性 有没有一种简单的方法告诉
  • 使用 Count 获取 HTML 列中最常见的前 10 个项目

    我有一个有点混乱的查询要尝试弄清楚 我有一个名为 meta value 的列 其中有一些 HTML 数据 例如 tr class child row123 td class monsters Monster td td class mons
  • 控制器如何与 AngularJS 中的指令对话?

    我有一个显示 4 个闪存卡的应用程序 其中 3 个由一个指令填充 对于最后一张卡 我希望该值取决于控制器 根据视图 和相应的控制器 控制器可以填写第四张卡的值 出于演示目的 请参阅here Question 如何从某个控制器更新第四张卡中的
  • 无法将“[(String)]”类型的值分配给“String!”类型的值?

    woodText text String textForWood values 这是我的代码 woodText is a UITextView and textForWood是一本字典 请帮忙 woodText text textForWo
  • 对每个实例后有冷却期的事件进行计数

    在 Postgres DB 中 我有 事件 条目 与 ID 相关联 以及事件发生的时间 我需要用特殊的规则来计算它们 当事件发生时 计数器会递增 并且在接下来的 14 天内 所有此类事件都不会被计数 Example event create
  • Datagridview:如何将单元格设置为编辑模式?

    我需要以编程方式将单元格设置为编辑模式 我知道将该单元格设置为 CurrentCell 然后调用方法 BeginEdit bool 应该会发生 但就我而言 它不会发生 我真的希望 当我的 DGV 有几列时 用户只能选择并编辑前两列 其他列已
  • Android 中的共享偏好设置

    我是安卓开发新手 我有一项活动 其中需要用户名和密码 我将这些值传递给一个 Web 服务 该服务返回一个密钥作为响应 我的活动中有一个切换按钮 现在 如果用户检查切换按钮 则意味着他想保持登录状态 并且当用户下次登录时应将其重定向到下一个活
  • 在 SSO 身份验证后设置 FormsAuthentication

    我的 ASP NET MVC 4 应用程序通过在 IIS 上运行的 ISAPI 筛选器受 SSO OAM 保护 当收到对我的应用程序的请求时 ISAPI 过滤器会拦截该请求并将其重定向到 SSO 用户必须登录 SSO 然后返回到我的应用程序