2017-02-21 73 views
1

我已经编写了自定义用户存储管理器来将WSO2接口到由ASP.Net的简单成员资格提供程序管理的数据库。我的主要问题是SMP使用PBKDF2进行密码散列,而标准的JDBC用户存储似乎不支持这一点。自定义用户存储管理器无法识别(WSOIS 5.3)

我基本上使用https://docs.wso2.com/display/IS530/Writing+a+Custom+User+Store+Manager作为模板,因为这个例子实现了不同的密码散列算法,这正是我的用例。

您可以在这里找到我的POC实现:github project wso2_custom_userstore我构建了一个jar,将其放入dropins目录并重新启动服务器。服务器抱怨缺少包头,但就是这样。在添加新的用户商店时,只有标准商店,仅此而已。然后,我配置了一个JDBC用户存储,并将该类更改为我编写的类。我看到的唯一影响是我以前配置的用户存储已经消失。我尝试将.jar放入libs目录中,但没有更改任何内容。

由于这似乎没有工作,并且服务器抱怨缺少包头我建立了一个OSGI包导出我的CustomUserStoreManager包(源也可以在github上找到,我不允许添加超过两个URL) - 现在该包被加载并激活,但仅此而已。我的班级仍然无处可见。我不认为它是用户存储添加对话框中的可用类,我没有将其视为日志配置中的可用类。没有提示它在任何地方,不在日志文件中,不在服务器的启动输出中。纳达。

我做错了什么?

我必须补充一点,我绝不是Java开发人员,也不是开发人员。我正在评估客户的WSO2,这应该是PoC。一旦它工作,我知道使用PBKDF2哈希值可能有人更有能力建立一个生产版本。

由于提前, SunTsu

回答

0

WSO2 IS 5.3.0基于org.wso2.carbon.user.core 4.4.11 [1]并且使用的是4.2.0。文件应该在这种情况下更新。您可以找到为WSO2 IS 5.1.0编写的样本代码[2][3]中的文章。

+0

谢谢。在将我的Bundle Activator更改为您的样子并使用相应的org.wso2.carbon.user.core后,CustomUserStoreManager类被识别并可以添加为User Store。感谢您的帮助,非常感谢。 – SunTsu