如何在WSO2 IS 5.9.0中提出独特的主张?

问题描述 投票:0回答:2

我正在WSO2 IS管理控制台中提出独特的主张。但是找不到任何方法可以做到这一点。

enter image description here

wso2 wso2esb wso2is wso2-am wso2carbon
2个回答
1
投票

当前的索赔管理实现不支持对索赔值具有唯一约束

但是您可以自定义用户存储以实现此目的。您可以参考此documentation以获得有关自定义的更多信息。您需要覆盖setUserClaimValuesetUserClaimValues,并在设置它们之前检查索偿值的存在。

例如,setUserClaimValue的自定义必须类似于以下内容

@Override
public void setUserClaimValue(String userName, String claimURI, String claimValue, String profileName)
        throws UserStoreException {

    if (// ClaimURI which needs to be unique) {
        String[] userList = getUserList(claimURI, claimValue, profileName);
        if (userList.length > 0) {
             throw new UserStoreException("Unique constraint violation for " + claimURI);
        }
    }
    super.setUserClaimValue(userName, claimURI, claimValue, profileName);
}

1
投票

您的要求应该是对每个登录用户都有唯一的电子邮件。如果这是要求,我建议您将身份服务器电子邮件配置为用户名。

https://is.docs.wso2.com/en/5.9.0/learn/using-email-address-as-the-username/

© www.soinside.com 2019 - 2024. All rights reserved.