我已经为我们在本地托管的wso2is服务器编写了一个嵌入式jar,其中包括AbstractIdentityTenantMgtListener
的实现。我挂在onTenantCreate
事件上,以使用管理员的凭据并为租户创建新的用户存储。
我正在调用的API就是这样的:https://is.docs.wso2.com/en/latest/develop/userstore-rest-api/#/User%20Store/addUserStore针对v5.10.0 wso2is服务器。
我使用的uri包含/ t / {tenantDomain}路径段。
使用承租人管理员的凭据,我不会因为未授权而被拒绝,而是服务器无法存储用户存储区的配置文件,但以下情况除外:
wso2-identity-server | [2020-09-11 07:44:36,611] [e909f3d3-17bb-49e7-9951-538e9016fad9] ERROR {org.wso2.carbon.identity.user.store.configuration.utils.SecondaryUserStoreConfigurationUtil} - Error while creating 'userstores' directory to store configurations for tenant = 7
wso2-identity-server | [2020-09-11 07:44:36,659] [e909f3d3-17bb-49e7-9951-538e9016fad9] ERROR {org.wso2.carbon.identity.api.server.userstore.v1.core.ServerUserStoreService} - errorCode: SUS-65001 | message: Server Encountered an error while adding secondary user store. org.wso2.carbon.identity.user.store.configuration.utils.IdentityUserStoreMgtException: Error occurred while creating or closing the output stream from /home/wso2carbon/wso2is-5.10.0/repository/tenants/7/userstores/leon_com.xml
wso2-identity-server | at org.wso2.carbon.identity.user.store.configuration.dao.impl.FileBasedUserStoreDAOImpl.writeToUserStoreConfigurationFile(FileBasedUserStoreDAOImpl.java:148)
wso2-identity-server | at org.wso2.carbon.identity.user.store.configuration.dao.impl.FileBasedUserStoreDAOImpl.doAddUserStore(FileBasedUserStoreDAOImpl.java:292)
wso2-identity-server | at org.wso2.carbon.identity.user.store.configuration.dao.AbstractUserStoreDAO.addUserStore(AbstractUserStoreDAO.java:42)
错误代码为SUS-65001
,但很遗憾,我在下面的列表中找不到它:https://is.docs.wso2.com/en/latest/references/error-catalog/#secondary-user-store-errors
有谁知道这是什么原因造成的?
修改 进一步说明: wso2is的本地安装基于wso2is的docker映像。 Dockerfile本身或我们的docker-compose.yml没有定义任何已安装的卷。此外,当我使用仪表板为租户创建辅助用户存储时,它可以正常工作而不会显示wso2服务器进程对文件系统具有写访问权的错误。仅API的调用会导致写访问错误。