我们希望将用户从一个身份系统转移到WSO2 IS。两个用户存储都驻留在SQL DB上。我们将在数据库级别使用SELECT INTO(INSERT INTO SELECT)将用户从旧的Identity Store移动到WSO2 IS。这会导致数据完整性出现任何问题吗?或者我们应该只使用WSO2 IS API吗?
答案 0 :(得分:2)
您的用户位于单独的用户数据库(比如foo用户存储)中,您需要将所有用户移动到WSO2IS用户存储架构中。?它主要取决于用户密码在foo用户存储中的存储方式。
如果密码以纯文本形式存储(或加密,因为它可以解密),您可以通过WSO2IS API添加用户,这是最佳选择。您可以编写一些工具来读取foo DB并调用WSO2IS的API。用户管理API可用于它。来自here
的更多详情如果密码存储为散列,那么我们就无法使用API,我们需要使用一些数据库级迁移。您可以将用户名和用户的密码移至UM_USER表和UM_ATTRIBUTE表中的用户属性。
但请注意,如果你的foo数据库使用了WSO2IS不支持的一些不同的密码散列模式,那么上面的迁移也不会是开箱即用的成功。默认情况下,WSO2IS仅支持SHA-1,SHA-2哈希方法。如果不是,您可能需要进行一些自定义。
但是,为什么要尝试将其迁移到WSO2IS架构?你不能为你的foo DB写一个custom user store manager implementation并将WSO2IS连接到你现有的用户商店吗?我猜,它比迁移更方便。