1

我在 WSO2 API 管理器中导入了批量用户,但所有用户的密码都在 24 小时内过期。几天后,我不得不系统地更改每个用户的密码。我怎样才能避免这种情况?有没有办法改变过期时间?

4

1 回答 1

2

根据批量用户导入功能的实现,添加用户时将“requirePasswordChange”设置为true,不可配置。(参考文献 [1]、[2])

一种解决方案是编写自定义用户存储管理器来覆盖此属性,并在添加用户时始终将其设置为 false。在[3]中进一步描述。

另一种技巧是直接从用户存储数据库中直接删除所有用户的密码到期属性。您可以简单地为所有用户设置“UM_REQUIRE_CHANGE”值,以使他们的密码在 24 小时后仍然有效。

UPDATE UM_USER SET UM_REQUIRE_CHANGE=FALSE;

[1] https://github.com/wso2/carbon-identity-framework/blob/master/components/user-mgt/org.wso2.carbon.user.mgt/src/main/java/org/wso2/carbon /user/mgt/bulkimport/CSVUserBulkImport.java#L178

[2] https://github.com/wso2/carbon-kernel/blob/4.4.x/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core /common/AbstractUserStoreManager.java#L2707

[3] https://stackoverflow.com/a/47976366

于 2019-09-15T13:55:20.487 回答