如何在WSO2 Identity Server 5.3.0中从CSV批量导入批量密码过期时间

时间:2017-12-25 17:23:47

标签: wso2 wso2is wso2carbon

您好我正在使用WSO2 Identity Server 5.3.0。我想通过使用CSV文件中的批量导入来创建用户。我能够成功地做到这一点。

问题陈述:

用户已成功创建,但在文档链接中,提到用户的默认密码到期时间为24小时。有没有办法通过配置我们可以关闭此设置。或者增加此密码到期的时间。

Document Link:

我从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"/>  

但我在这里找不到任何配置来配置这个时间。

2 个答案:

答案 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