Wso2 wso 2 API管理器:如何配置多用户存储

Wso2 wso 2 API管理器:如何配置多用户存储,wso2,Wso2,我遵循指南: 并添加新的UserStoreManager,但它发出异常且无法工作 [2013-08-07 23:59:33,668] INFO - AgentHolder Agent created ! [2013-08-07 23:59:33,715] INFO - AgentDS Successfully deployed Agent Client [2013-08-07 23:59:37,910] ERROR - DatabaseUtil Table "UM_ROLE"

我遵循指南: 并添加新的UserStoreManager,但它发出异常且无法工作

[2013-08-07 23:59:33,668] INFO - AgentHolder Agent created !
   [2013-08-07 23:59:33,715] INFO - AgentDS Successfully deployed Agent
   Client [2013-08-07 23:59:37,910] ERROR - DatabaseUtil Table "UM_ROLE"
   not found; SQL statement: SELECT UM_ID FROM UM_ROLE WHERE
   UM_ROLE_NAME=? AND UM_TENANT_ID=? [42102-140]
   org.h2.jdbc.JdbcSQLException: Table "UM_ROLE" not found; SQL
   statement: SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND
   UM_TENANT_ID=? [42102-140] at
   org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
   at org.h2.message.DbException.get(DbException.java:167) at
   org.h2.message.DbException.get(DbException.java:144) ...
========================================================================


有人知道如何正确配置它吗?

我相信您已经按照wiki文档[1]定义了多个JDBC用户存储。如果是,那么在user mgt.xml的每个UserStoreManager配置中,希望您已经定义了datasource属性,如下所示

jdbc/WSO2UM2

您是否可以确认,在每个已定义的数据库中,您已经填充了与用户管理相关的数据库脚本,以填充用户管理器功能所需的数据库表,这些表可以在“{AM_Home}/dbscripts”中找到?根据日志,似乎用户管理所需的数据库表还没有填充到一个UserStoreManager配置所指向的数据源中

[1]


谢谢,

我没有为新用户存储运行db脚本。新问题是如何填充与用户管理相关的db脚本?首先,您需要在{AM_Home}/repository/conf/datasources文件夹中的master-datasources.xml中定义用作多个JDBC用户存储的数据源。然后在关系数据库中[在h2/mysql/etc中]创建相应的数据库,并根据新创建的上述数据库填充相关脚本,该脚本可从{AM_Home}/dbscripts中找到。好的,使用dbscripts下的h2-1.2.140-wso2v3.jar和h2.sql,我创建相应的用户存储数据库和表,和api管理器正确启动。但在发布服务器中,如果在辅助用户存储下添加新api,则可见性仅为公共,受角色限制,没有“受角色限制”,并且角色中有多个管理员和所有人。还有我错过的其他配置吗?