barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 5 октября 2011 г.

Настройка внешнего UserStoreManager для WSO2IS

1) Создать структуру БД из соответствующего СУБД скрипта из директории wso2is-3.2.0/dbscripts
2) В /repository/components/lib положить jar-ник клиента Вашей СУБД
3) Изменить настройки управления пользователями в файле /repository/conf/user-mgt.xml. Вот пример настроек для БД postgers:

<UserManager>
    <Realm>
        <Configuration>
            <AdminRole>admin</AdminRole>
            <AdminUser>
                <UserName>admin</UserName>
                <Password>admin</Password>
            </AdminUser>
            <EveryOneRoleName>everyone</EveryOneRoleName>
            <ReadOnly>false</ReadOnly>
            <MaxUserNameListLength>500</MaxUserNameListLength>
            <Property name="url">jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE</Property>
            <Property name="userName">wso2carbon</Property>
            <Property name="password">wso2carbon</Property>
            <Property name="driverName">org.h2.Driver</Property>
            <Property name="maxActive">50</Property>
            <Property name="maxWait">60000</Property>
            <Property name="minIdle">5</Property>
        </Configuration>
        <UserStoreManager class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
<Property name="PasswordJavaScriptRegEx">[\\S]{5,30}</Property>
            <Property name="url">jdbc:postgresql://localhost:5432/wso2is_um</Property>
            <Property name="userName">postgres</Property>
            <Property name="password">postgres</Property>
            <Property name="driverName">org.postgresql.Driver</Property>
            <Property name="maxActive">50</Property>
            <Property name="maxWait">60000</Property>
            <Property name="minIdle">5</Property>
<Property name="ReadOnly">true</Property>
            <Property name="MaxUserNameListLength">100</Property>
            <Property name="IsEmailUserName">false</Property>
            <Property name="DomainCalculation">default</Property>
            <Property name="PasswordDigest">SHA</Property>
            <Property name="StoreSaltedPassword">true</Property>
            <Property name="UserNameUniqueAcrossTenants">false</Property>
        </UserStoreManager>
        <AuthorizationManager class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"/>
    </Realm>
</UserManager>

За основу взят пример с wso2.org (http://wso2.org/project/solutions/identity/3.2.0/docs/user-core/user-mgt-jdbc.xml), однако PasswordDigest заменен на "SHA", потому что иначе не получается залогиниться под admin/admin.Также добавлен параметр PasswordJavaScriptRegEx, без него через интерфейс карбона не создать пользователя, т.к. он ругается на любой введенный пароль, что он якобы менее 5 символов.
4) Запустить WSO2IS с ключом -Dsetup, который создаст первоначальное заполнение БД (впрочем, п.1 можно было бы и пропустить, -Dsetup вроде бы сам умеет создавать структуру). При этом в БД появятся 2 пользователя - admin и wso2.anonymous.user.

Комментариев нет:

Отправить комментарий