- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个现有的 ASP.NET 应用程序 (WebForms),它使用自行开发的身份验证。我们的任务是实现单点登录解决方案,并选择使用 WIF。
我们有一个正在运行的应用程序实例,我们通过使用子域(例如 client1.ourapp.com、client2.ourapp.com 等)来识别客户端。在应用程序代码中,我们去掉了第一个子域,它标识了客户端。
我们一直在使用 WIF 概念验证来弄清楚如何在用户通过身份验证后将其重定向回正确的子域。开箱即用的行为似乎是 STS 将用户重定向到配置文件中标识的任何领域。以下是 PoC 配置文件。我正在使用我的主机文件伪造不同的客户端(即 127.0.0.1 client1.ourapp.com、127.0.0.1 client2.ourapp.com)。
<federatedAuthentication>
<wsFederation
passiveRedirectEnabled="true"
issuer="http://ourapp.com/SSOPOCSite_STS/"
realm="http://client1.ourapp.com"
requireHttps="false" />
</federatedAuthentication>
显然这是行不通的,因为我们无法将所有人重定向到同一个子域。
我们认为我们已经想出如何处理这个问题,但想听听外界的意见,看看我们是在以正确的方式做这件事,还是我们只是走运。
我们为 FAM 的 RedirectingToIdentityProvider 事件创建了一个事件处理程序。在其中,我们从请求 URL 中获取公司名称,使用公司名称构建一个领域字符串,设置 SignInRequestMessage 的领域和 HomeRealm,然后让 FAM 做它的事情(即将我们重定向到 STS 进行身份验证)。
protected void WSFederationAuthenticationModule_RedirectingToIdentityProvider( object sender, RedirectingToIdentityProviderEventArgs e )
{
// this method parses the HTTP_HOST and gets the first subdomain
var companyName = GetCompanyName();
var realm = GetRealm( companyName );
e.SignInRequestMessage.Realm = realm;
e.SignInRequestMessage.HomeRealm = companyName;
}
string GetRealm( string companyName )
{
return String.Format( "http://{0}.ourapp.com/SSOPOCSite/", companyName );
}
这看起来是解决问题的合理方法吗?
我们可能会因此遇到任何问题吗?
有没有更好的方法?
最佳答案
您的解决方案听起来不错(明确传递您需要的信息),想到的唯一其他解决方案是使用 Request.UrlReferrer
确定用户来自哪个子域。
关于c# - WIF 和子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10319597/
我试图了解 WIF 中主动和被动联合之间的区别。如果依赖方 (RP) 是 WCF 服务而不是 ASP.NET 应用程序,则似乎使用主动联合;如果 RP 是 ASP.NET 应用程序,则使用被动联合。这
新的路由服务如何处理安全性?根据http://blogs.microsoft.co.il/blogs/applisec/archive/2011/12/12/wcf-routing-and-messa
SessionAuthenticationModule 类中的事件之一是 SessionSecurityTokenReceived。这使我们能够查看从 AD FS 收到的 session token
SessionAuthenticationModule 类中的事件之一是 SessionSecurityTokenReceived。这使我们能够查看从 AD FS 收到的 session token
我需要安装 IdentityTrainingKitApril2020.VS2010,它让我安装 WindowsIdentityFoundation-SDK-4.0。 但设置 WIF SDK 失败并显示
我正在尝试为将使用 WIF 进行身份验证的 ASP.NET MVC3 应用程序开发身份验证插件。由于它是具有系统内配置的插件,因此我避免接触应用程序的 web.config 文件或其他任何内容。我已经
据我所知,在 WIF 1.0 中,Windows Identity 直接源自 IIdentity。在 WIF 4.5 中,Windows Identity 派生自实现 IIdentity 的 Clai
我很想知道我们如何可能从一个 WIF 应用程序发送一个安全 token ,该应用程序已经通过 WIF 启用的 WCF 服务的身份验证。 任何帮助都将得到认可 最佳答案 答案并不简单,但以下步骤构成了“
我已使用最新 WIF SDK(适用于 .NET 4.0)附带的被动和主动案例的项目模板成功创建了一个有效的自定义 STS。一切都按预期进行。 我现在正在尝试将我的 Web 应用程序和服务升级到 .NE
我正在考虑使用 Azure 访问控制来实现 SSO。但一些 Web 应用程序使用 .net 3.5。基于 Azure ACS 的 STS 是否支持 WIF 3.5 依赖方? 最佳答案 是的。这不是 A
我很难理解应该如何定义 claim 。网络上有很多关于创建声明的信息,但似乎没有一个是一致的。我在不同的帖子中发现了声明的四个属性: claim 类型 claim 值(value) 值类型 右 假设您
我一直在阅读有关 Windows Identity Foundation 的一些文章,并且对联邦提供程序有一些模糊的定义(可能是我的理解不准确)。但是,我没有看到一篇文章清楚地在身份提供者和联合提供者
我有一个 Web 应用程序,希望使用使用 Windows Identity Foundation 3.5 的自定义 STS 来保护它。所有示例在场景中都有一个被动 STS。为什么需要这个?如果您直接调
我正在尝试将声明感知 WCF 服务和客户端放在一起。 我正在使用 thinktecture Identity Server ,并且我通过查看“将 token 与 WCF/SOAP 一起使用”示例组装了
全部, 我一直在阅读很多有关基于声明的身份验证的内容,但仍然有些困惑。我试图巩固我的理解,特别是与SharePoint 2010/2013有关,但也与一般情况(即ASP.NET)有关。 我对各种技术术
我们有一个使用 WIF 的 ASP.NET 应用程序。我们的 web.config 文件有一个像这样的部分: 我看到的每个示例中,audienceUris 和 r
我们有一个现有的 ASP.NET 应用程序 (WebForms),它使用自行开发的身份验证。我们的任务是实现单点登录解决方案,并选择使用 WIF。 我们有一个正在运行的应用程序实例,我们通过使用子域(
在彻底搜索了 SO 的答案之后,这次我必须永远问我的第一个问题! 开始 : 我有一个 Windows 窗体应用程序,它使用十几个 WCF 服务来处理所有业务逻辑。 WIF 在每个 WCF 服务上实现,
我有一个站点是我们基于 WIF 的自定义 STS 的依赖方。我们最近实现了一个安全 token 缓存,如下所述:Azure/web-farm ready SecurityTokenCache .我们的
我们有一些应用程序可以使用表单例份验证通过传统的用户名/密码或电子邮件/密码方法进行身份验证。我们希望慢慢地将这些帐户迁移到 Windows Identity Foundation (WIF)。 将表
我是一名优秀的程序员,十分优秀!