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

时间:2019-12-10 06:08:09

标签: wso2 wso2esb wso2is wso2-am wso2carbon

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

enter image description here

2 个答案:

答案 0 :(得分:3)

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

但是您可以自定义用户存储以实现此目的。您可以参考此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 :(得分:1)

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

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