我们使用Windows Identity Foundation(WIF)在.NET Web应用程序中实现了SSO.它很棒.但是,我们必须使用Mono在UNIX系统上运行它.那可能吗?
我有一个控制台应用程序从SharePoint站点下载文件.sharepoint站点使用基于声明的身份验证.
此代码抛出403 Forbidden异常.指定的网络凭据具有对站点的完全访问权限,并且能够从浏览器下载相同的文件.
WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential(username,Password,domain);
byte[] fileData = webClient.DownloadData(urlOfAFile);
FileStream file = File.Create(localPath);
file.Write(fileData, 0, fileData.Length);
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
我正在 WIF 中处理 SAML2 令牌,其中包含 EncryptedAssertion。标记不包含“主题标识符密钥”扩展属性,因此 WIF SecurityTokenHandler 在尝试从 LocalMachineStore/Personal 获取正确的 X509 证书时失败。
问题很明显,用于加密令牌的证书不包含 SKI 扩展,当然令牌生成代码 (Java) 似乎并不需要它。为了避免修改生成代码,有没有办法让 WIF SecuityTokenResolver 不检查接收到的 SKI 令牌,而是直接使用本地存储证书来解密令牌?
我有两个应用程序"http:/localhost/applicationA"和"http:/localhost/applicationB".我已经为基于声明的身份验证设置配置了applicationA.applicationA工作得很好.但是我从applicationA中引用了一些applicationB的javascrips.但是applicationB没有身份验证cookie(FedAuth).
我是否可以使用以下代码在applicationA,applicationB中添加声明身份验证?
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="http://localhost/applicationB/" />
<add value="http://localhost/applicationA/" />
</audienceUris>
<issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry">
<authority name="PassiveSigninSTS">
<keys>
<add thumbprint="DE161DD37B2FEC37BDB17CAFF33D982DCE47E740" />
</keys>
<validIssuers>
<add name="PassiveSigninSTS" />
</validIssuers>
</authority>
</issuerNameRegistry>
<!--certificationValidationMode set to "None" by the the Identity and Access Tool for Visual Studio. For development purposes.-->
<certificateValidation certificateValidationMode="None" />
</identityConfiguration>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc web-config federated-identity claims-based-identity wif
一个多星期以来,我一直在讨论这个问题.我们有一个我们想要实施SSO的网络应用程序.SSO与我们客户的Windows活动目录(即我们基本上需要对我们客户的活动目录进行身份验证,没有太多麻烦)
我唯一可以肯定的是,我将需要一个必须与身份提供商进行通信的安全令牌服务.我的问题:
...我应该使用Windows Identity Foundation吗?
帮助:( ......这是一个SOS
如果有人能够澄清,我会永远感激.我通常赞成任何我认为有用的东西,并接受最好的答案,所以随时回答您认为可能有助于我理解如何实现我所追求的目标.
我已经按照本文构建了具有内部部署ADFS联合的演示应用程序.
我能够使用简单的代码为用户获取所需的信息
Dim UserEmail = System.Security.Claims.ClaimsPrincipal.Current.FindFirst(System.IdentityModel.Claims.ClaimTypes.Email).Value
Run Code Online (Sandbox Code Playgroud)
但是如何获取用户名所在的用户组并检查用户帐户是否是Active Directory中Windows组的成员?
我试图用来System.Security.Claims.ClaimsPrincipal.Current.IsInRole检查用户是否在组中,但它不起作用
我一直在努力了解AD如何在Azure中运行.我有一个Web应用程序,我想使用WAAD为应用程序提供声明.从我看到的到现在为止,唯一提供的是用户名.有没有办法向Azure AD添加外部声明?
谢谢
我正在按照本指南将Web应用程序与本地ADFS 2.0连接。
目前,我停留在发行人指纹部分。我不知道从哪里可以得到指纹。
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<add thumbprint="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234" name="YourSTSName" />
</trustedIssuers>
</issuerNameRegistry>
Run Code Online (Sandbox Code Playgroud) 我有一个MVC3网络应用程序,可以自定义StarterSTS的自定义.我要求知道领域和身份验证要求SSL.
它很有效.
问题是当用户回到我们使用https浏览的网站时.这不是我想要的经验.我的网站不是银行或类似的东西.我认为认证对话应该是安全的(我认为)和令牌加密(我敢肯定).但是,如果我在验证后手动将网址从https更改为http,则表示我未获得授权.
1)为什么?
2)是否可以回归http?或者......我是否应该要求https进行身份验证,但保留令牌加密?
最近,我一直在使用IIS Express,它的确很棒。但是,我有无法解决的情况。
我正在开发一个Webapp,用户应该可以使用其AD帐户登录。由于将运行WebApp的服务器不在域中,因此我将ADFS 2.0用作SSO解决方案来解决此问题。
为了简化该项目的开发,我选择在开发时使用IIS Express。
为了能够在开发环境中与ADFS 2.0服务器交换声明信息,我必须为站点配置应用程序池,以将“加载用户配置文件”设置为true(例如IIS 7.5)。我在网上搜索,到目前为止,几乎没有找到有关如何在IIS Express中配置应用程序池的文档。
wif ×10
asp.net ×3
adfs ×2
azure ×2
c# ×2
adfs2.0 ×1
asp.net-mvc ×1
iis-express ×1
mono ×1
saml-2.0 ×1
vb.net ×1
web-config ×1
ws-security ×1