wso2 5.10版本Identity Service中如何解锁管理控制台账号

How to unlock admin console account in wso2 5.10 version Identity Service

我使用的是WSO2 IS 5.10版本。我们的管理员帐户被锁定可能是 3 次错误的密码尝试。如果自动帐户锁定时间设置为 0 那么我们如何解锁管理员帐户。由于帐户已锁定,因此不允许使用管理员权限调用任何 SCIM API。我们尝试重新启动 kubernetes pod,但不允许重新启动,说明管理员帐户已锁定。 任何人都可以帮助解锁管理员帐户。

您可以尝试解锁管理员帐户的几种方法。您可以尝试以下选项。

选项 01
等到它自动恢复。 在以下配置参数中,您设置了锁定。每个帐户在连续登录帐户失败尝试时的时间。请注意此值需要分钟,而不是秒。 在这种情况下,帐户将被锁定 5 分钟。

选项 02
使用-DunlockAdmin系统属性重启服务器。在某些情况下,此 属性 未按预期工作。

选项 03
作为最后的手段,您可以从数据库级别更改配置并解锁相关的管理员帐户。 您要查找的 table 在 Access Management 数据库或 WSO2IDENTITY_DB 数据库中,table 名称 IDN_IDENTITY_USER_DATA。要启用 H2 控制台,您可以在 deployment.toml 文件中添加以下配置 /repository/conf

[database_configuration]
enable_h2_console = "true"

然后就可以去localhost:8082登录H2-console了。 对于 'admin' 用户名(或任何其他用户名),table 中将有一些 DATA_KEY 可用,我们不需要全部,我们需要;

http://wso2.org/claims/identity/accountLocked
http://wso2.org/claims/identity/unlockTime

在正常情况下,代理帐户锁定 DATA_VALUE 必须是 false 并且 unlockTime 应该是 0.

    UPDATE IDN_IDENTITY_USER_DATA SET DATA_VALUE='false'  WHERE DATA_KEY='http://wso2.org/claims/identity/accountLocked' AND USER_NAME='admin'

    UPDATE IDN_IDENTITY_USER_DATA SET DATA_VALUE='0' WHERE DATA_KEY='http://wso2.org/claims/identity/unlockTime' AND USER_NAME='admin';

完成值更新后,您需要重新启动 IS 服务器。因为在我们原来设置的配置里,已经写明了多久后需要解锁。