2017-02-21 34 views
1

Я написал пользовательский менеджер хранилища данных, чтобы связать WSO2 с базой данных, управляемой Простым провайдером ASP.NET ASP.NET. Моя основная проблема заключается в том, что SMP использует PBKDF2 для хэширования паролей, и стандартный пользовательский магазин JDBC, похоже, не поддерживает это.Менеджер пользовательского хранилища не распознан (WSOIS 5.3)

В основном я использовал https://docs.wso2.com/display/IS530/Writing+a+Custom+User+Store+Manager в качестве шаблона, так как пример реализует другой хэширующий пароль algo, который является именно моим прецедентом.

Здесь вы можете найти мою реализацию POC: github project wso2_custom_userstore Я построил банку, положил ее в каталог 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. В этом случае необходимо обновить документацию. Вы можете найти пример кода [2], который написан для WSO2 IS 5.1.0 и статьи в [3].

+0

спасибо. После изменения моего активатора Bundle, чтобы он выглядел как ваш, и используя соответствующий org.wso2.carbon.user.core, класс CustomUserStoreManager был распознан и может быть добавлен как пользовательский магазин. Спасибо за вашу помощь, очень ценю. – SunTsu