单一登录-为多个组织提供服务(ADFS和Form Auth混合)
本文关键字:ADFS 服务 Form 混合 Auth 登录 单一 | 更新日期: 2023-09-27 17:58:05
我想开发一个集中的应用程序,不同的组织用户可以登录我的网站并在稍后执行操作。我将从中生成报告并将其提供给每个组织。我正在维护我自己的SQL数据库,在那里我将保存所有组织颁发者、证书指纹详细信息等……我能够根据组织id动态发送signinRequest。但是,当我从他们的ADFS服务器返回令牌时,我需要在我的web.config中添加以下详细信息来验证令牌。我不想在我的web.config中公开这些细节,原因有二。-安全[我需要配置所有组织的详细信息,这可能会导致一些欺诈访问]-性能[如果我有100个组织要使用我的应用程序,是否建议在我的配置中配置所有问题权限。它会影响性能]
<issuerNameRegistry type=”System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry”>
< authority name=”name”>
<keys>
<add thumbprint="{Org 1 thumbprint}"/>
<add thumbprint="{Org 2 thumbprint}"/>
<add thumbprint="{Org 3 thumbprint}"/>
</keys>
<validIssuers>
<add name="http://test.login.edu/adfs/service/trust">
<add name="Org 3 url">
<add name="Org 4 url">
<add name="Org 5 url">
</validIssuers>
</authority>
</issuerNameRegistry>
非常感谢你的帮助谢谢Jeevitha
经过一些研究,我提出了解决方案,它也很好。。
我将在我的网络中有以下设置,配置。[我的自定义类从发卡行进行返回令牌验证]
<issuerNameRegistry type="ADFS_Lib.AccessControlServiceIssuerNameRegistry, ADFS_Lib">
</issuerNameRegistry>
在我的类中,我将重写IssuerRegistry calss GetIssuerName方法,并验证数据库中的返回令牌和颁发者,无论是否配置了
public class AccessControlServiceIssuerNameRegistry : IssuerNameRegistry
{
public override string GetIssuerName(SecurityToken securityToken, string requestedIssuerName)
{
//here my DB validation code goes
}