我正在尝试将WSO2配置为通过LDAP对用户进行身份验证,然后使用存储在其他位置的属性来扩展用户(探索一些旧的集成类型方案,因此将所有内容迁移到LDAP确实不在卡中)。
用户属性文档(https://docs.wso2.com/display/IS560/Managing+User+Attributes#ManagingUserAttributes-Writingcustomattributes)指出,最好通过编写自定义用户存储来实现,https://docs.wso2.com/display/IS560/Writing+a+Custom+User+Store+Manager#WritingaCustomUserStoreManager-ImplementingacustomJDBCuserstoremanager列出AbstractUserStoreManager
作为要扩展和使用的类(尽管,我们很可能会扩展一个子类)。
我在github上浏览WSO2 IS代码时遇到的问题是,我似乎无法通过此名称或方法(通过文档中提到的名称)找到类。我的猜测是集成点发生了变化,介于4.4到现在之间(5.6是我作为MSI下载的版本)。它改变了吗?如果没有,我应该在哪里寻找扩展的课程?
答案 0 :(得分:3)
您可以在wso2-carbon-kernal中查找这些类。对于IS 5.6,请尝试查看碳核的4.4.x分支
答案 1 :(得分:0)
如果您要通过LDAP进行身份验证,建议您扩展ReadOnlyLDAPUserStoreManager
并覆盖getUserProperties方法(或者类似的方法,我现在不记得方法名称了)
答案 2 :(得分:0)
碳核 v4.4.32 用于WSO2 IS 5.6.0 [1]。您可以从此处[2] [3]引用现有的实现以获取想法。
1 https://github.com/wso2/product-is/blob/v5.6.0/pom.xml#L1810
2 https://github.com/wso2/carbon-kernel/tree/v4.4.32/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/ldap
3 https://github.com/wso2/carbon-kernel/tree/v4.4.32/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/jdbc