繁体   English   中英

如何删除 WSO2 Identity Server 中的租户?

[英]How to delete tenants in WSO2 Identity Server?

在 v 4.6.0 中,我们无法通过 UI 删除租户,只能禁用。 但是,我看到 TenantMgtAdminService 肥皂服务上有一个 deleteTenant 方法。

我曾尝试调用此服务,但出现错误。 从日志中,它具有:

{org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService} - Error deleting tenant with domain: test7.tenant and tenant id: 136. {org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService} 
java.lang.NullPointerException 
at org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService.deleteTenant(TenantMgtAdminService.java:520) 

查看源代码,我认为这可能是一个缺陷,因为空指针异常似乎是由尝试访问第 520 行附近的“计费服务”引起的。

所以我想知道我是否可以以这种计费服务不会为空的方式配置我的租户,或者是否有其他解决方法?

谢谢

在 RemoteTenantManagerService 中使用 deleteTenant 操作并重启服务器。 ;) 重新启动服务器将清除缓存并允许您添加具有相同域名的新租户。

尽管拥有该管理服务,但删除租户并不是一个好的选择。 租户架构非常复杂,即使是管理服务也无法保证彻底清理。 即使在管理服务成功响应之后,数据库中也可能保留租户数据。

这些仍然取决于您在服务器中使用的功能。 这就是为什么这个服务调用对一些人来说似乎是成功的,而对一些人来说却失败了。 如果您决定继续使用相同的租户名称,情况可能会变得更糟。

最好的办法是停用租户。 这会阻止您将来使用相同的租户名称,但保证租户数据一致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM