首页 文章

ADFS - 颁发授权规则集错误

提问于
浏览
0

在我们的系统中,我们有来自不同域的用户(假设他们的邮件地址是@ gmail.com,@ outlook.com,@ yahoo.com) . 我要求根据用户来自的域限制用户访问RP . 对于此设置,我尝试使用以下规则在ADFS中配置颁发授权规则(仅允许来自特定域的用户)

c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", Value =~ "gmail.com$"]
 => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");

我通过发行授权规则选项卡传递了电子邮件地址声明,所以我没有在technet link(在 Sending the execution output to the claims pipeline Section 下面)中提到的授权规则集中初始化输入

在为给定规则集运行整个过程(步骤1,2和3)之后,新发出的传出声明(输出声明集的内容)将用作声明管道中下一个规则集的输入 . 这允许声明从一个规则集的输出流向另一个规则集的输入,如下图所示 .

但授权似乎不起作用 .

1 回答

  • 1

    在第一个选项卡中配置的声明(颁发转换规则)不会传递到第二个选项卡(颁发授权规则) .

    因此,我们需要在第二个选项卡中再次重复该过程(映射emailaddresses - > emailaddress),如下所示 .

    Issuance Authorization Rule configuration

    现在自定义规则完美无缺 .

    如果您需要在验收标准中添加更多电子邮件域,请使用“|”符号:

    c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", Value =~ "yahoo.com$|gmail.com$"]
    => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");
    

相关问题