我试图配置WSO2 IS 5.0.0使用mysql数据库作为默认的主数据源 .
我已经从文档中查看了以下指南:https://docs.wso2.com/display/IS500/Setting+up+MySQL https://docs.wso2.com/display/IS500/Configuring+a+JDBC+User+Store
当我尝试通过管理员网站以管理员身份登录时收到以下错误:
管理员登录尝试失败'admin [-1234]'在[2015-01-08 22:31:03,647-0500]
这是WSO2IS 5.0.0的全新安装 . 使用-Dsetup属性初始化数据库 . UM_USER表显示管理员用户存在 . 我在master-datasource.xml中配置了mysql数据源,在embedded-ldap.xml中禁用了嵌入式ldap服务器,并在tenant-mgt.xml中注释掉了ldap租户 .
当我启动服务器时,除了上面提到的登录警告之外,我没有看到任何错误 . 数据库似乎也包含所有信息,但管理员Web应用程序不允许我以管理员身份登录 .
我还注意到租户ID是-1234 . 这是预期的默认值还是表明潜在的多租户错误?
这是我的user-mgt.xml
<UserManager>
<Realm>
<Configuration>
<AddAdmin>true</AddAdmin>
<AdminRole>[Role]</AdminRole>
<AdminUser>
<UserName>[userName]</UserName>
<Password>[password]</Password>
</AdminUser>
<EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root -->
<Property name="dataSource">jdbc/WSO2CarbonDB</Property>
</Configuration>
<UserStoreManager class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
<Property name="TenantManager">org.wso2.carbon.user.core.tenant.JDBCTenantManager</Property>
<Property name="ReadOnly">false</Property>
<Property name="MaxUserNameListLength">100</Property>
<Property name="IsEmailUserName">false</Property>
<Property name="DomainCalculation">default</Property>
<Property name="PasswordDigest">SHA-256</Property>
<Property name="StoreSaltedPassword">true</Property>
<Property name="ReadGroups">true</Property>
<Property name="WriteGroups">true</Property>
<Property name="UserNameUniqueAcrossTenants">false</Property>
<Property name="PasswordJavaRegEx">^[\S]{8,50}$</Property>
<Property name="PasswordJavaScriptRegEx">^[\S]{8,50}$</Property>
<Property name="UsernameJavaRegEx">^[^~!#$;%^*+={}\\|\\\\<>,\'\"]{3,30}$</Property>
<Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
<Property name="RolenameJavaRegEx">^[^~!#$;%^*+={}\\|\\\\<>,\'\"]{3,30}$</Property>
<Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
<Property name="UserRolesCacheEnabled">true</Property>
<Property name="MaxRoleNameListLength">100</Property>
<Property name="MaxUserNameListLength">100</Property>
<Property name="SharedGroupEnabled">false</Property>
<Property name="SCIMEnabled">true</Property>
</UserStoreManager>
<AuthorizationManager
class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
<Property name="AdminRoleManagementPermissions">/permission</Property>
<Property name="AuthorizationCacheEnabled">true</Property>
</AuthorizationManager>
</Realm>
</UserManager>
非常感谢任何指导 .
2 回答
今天早上我用MySQL连接IS .
我用过这个参考文献:
http://pushpalankajaya.blogspot.com.es/2013/09/deploying-identity-server-over-jdbc.html
无论如何,如果有任何帮助,我会分享我的配置:
在user-mgt.xml中:
并且,在master-datasources.xml中:
我希望它会有所帮助 .
PD:在你的user-mgt.xml中我想念下一个:
和:
记得把MySQL驱动程序(.jar)放在/ repository / components / lib目录中 .
我假设你想在新的IS包上使用mysql作为主要用户存储 . 没有详细说明你需要做的是,
1)创建一个mysql数据库
2)将数据库配置放在IS_HOME / repository / conf / datasources / master-datasources.xml中
3)评论出来
元素及其子元素在IS_HOME / repository / conf / user-mgt.xml中
4)取消注释
在上面提到的文件中
5)替换值
使用master-datasources.xml中为新数据库指定的jndi值
6)将mysql jdbc驱动程序复制到IS_HOME / repository / components / lib
7)使用-Dsetup启动服务器