您好我正在使用WSO2 Identity Server 5.3.0。我想通过使用CSV文件中的批量导入来创建用户。我能够成功地做到这一点。
问题陈述:
用户已成功创建,但在文档链接中,提到用户的默认密码到期时间为24小时。有没有办法通过配置我们可以关闭此设置。或者增加此密码到期的时间。
我从user-mgt.xml文件启用了批量存储。
<Property name="MembershipAttribute">member</Property>
<Property name="BackLinksEnabled">false</Property>
<Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
<Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property>
<Property name="UsernameJavaRegExViolationErrorMsg">Username pattern policy violated</Property>
<Property name="PasswordJavaRegEx">^[\S]{5,30}$</Property>
<Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property>
<Property name="PasswordJavaRegExViolationErrorMsg">Password length should be within 5 to 30 characters</Property>
<Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
<Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property>
<Property name="SCIMEnabled">true</Property>
<Property name="IsBulkImportSupported">true</Property>
<Property name="EmptyRolesAllowed">true</Property>
<Property name="PasswordHashMethod">PLAIN_TEXT</Property>
<Property name="MultiAttributeSeparator">,</Property>
<Property name="MaxUserNameListLength">500</Property>
<Property name="MaxRoleNameListLength">100</Property>
<Property name="kdcEnabled">false</Property>
<Property name="defaultRealmName">WSO2.ORG</Property>
<Property name="UserRolesCacheEnabled">true</Property>
<Property name="ConnectionPoolingEnabled">false</Property>
<Property name="LDAPConnectionTimeout">5000</Property>
<Property name="ReadTimeout"/>
<Property name="RetryAttempts"/>
但我在这里找不到任何配置来配置这个时间。
答案 0 :(得分:1)
另一种方法是直接从userstore数据库中为所有用户删除此密码到期属性。您只需为所有用户设置“ UM_REQUIRE_CHANGE”值即可使他们的密码即使在24小时后仍能正常工作。
UPDATE UM_USER SET UM_REQUIRE_CHANGE=FALSE;
答案 1 :(得分:0)
目前,Identity Server没有用于使密码有效期增加或关闭设置的开箱即用配置选项。但是,我们可以通过扩展相关的UserStoreManager来编写自定义组件来满足您的要求,即不会使密码失效。为此,您可以编写一个自定义用户管理器管理器,扩展默认的JDBCUserStoreManager,使密码在无限期内有效。有关此内容的更多信息,请参阅[1]。在此示例扩展程序中,您只需要将 requestPasswordChange 变量设为false,以覆盖“doAddUser()”方法,以避免密码失效。示例代码如下。
public void doAddUser(String userName, Object credential, String[] roleList,
Map<String, String> claims, String profileName, boolean requirePasswordChange)
throws UserStoreException {
super.doAddUser(userName, credential, roleList, claims, profileName, false);
}
[1] https://docs.wso2.com/display/IS530/Writing+a+Custom+User+Store+Manager