我已经编写了一个自定义用户存储管理器来将WSO2连接到由ASP.Net的简单成员资格提供商管理的数据库。我的主要问题是SMP使用PBKDF2进行密码散列,标准的JDBC用户存储似乎不支持。
我基本上使用https://docs.wso2.com/display/IS530/Writing+a+Custom+User+Store+Manager作为模板,因为该示例实现了一个不同的密码哈希算法,这正是我的用例。
你可以在这里找到我的POC实现:github project wso2_custom_userstore我构建了一个jar,将它放入dropins目录并重新启动服务器。服务器抱怨缺少捆绑标头,但就是这样。添加新用户商店时,只有标准商店,仅此而已。然后我配置了JDBC用户存储并将类更改为我编写的类。我看到的唯一影响是我之前配置的用户存储已经消失了。我尝试将.jar放入libs目录,而不是改变任何东西。
由于这似乎没有用,并且服务器抱怨缺少bundle header我构建了一个OSGI包,导出了我的CustomUserStoreManager包(源代码也可以在github上找到,我不允许添加两个以上的URL) - 现在捆绑包被加载并激活但仅此而已。我的课仍然无处可见。我没有在User Store添加对话框中将其视为可用类,我不会将其视为日志配置中的可用类。没有任何提示,不是在日志文件中,而是在服务器的启动输出中。纳达。
我做错了吗?
我必须补充一点,我绝不是Java开发人员,也不是开发人员。我正在为客户评估WSO2,这应该是一个PoC。一旦它工作,我知道使用PBKDF2哈希是可能的,更有能力的人将建立一个生产版本。
提前致谢, SunTsu