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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在WSO2 Identity Server 5.3.0中从CSV批量导入批量密码过期时间相关的知识,希望对你有一定的参考价值。

嗨,我正在使用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"/>  

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

答案

目前,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

以上是关于如何在WSO2 Identity Server 5.3.0中从CSV批量导入批量密码过期时间的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 Identity Server 和 WSO2 API Manager 集成 - java.rmi.server.ExportException:端口已在使用:9999;

比较WSO2 Identity Server和SCIM

在没有浏览器的情况下对WSO2 Identity Server进行身份验证,并获取SAML2断言消息

使用ORCID凭据通过Identity Server登录我的应用程序

WSO2 Identity Server 和 WSO2 API Manager 集成 - 错误:传输错误 202:绑定失败:地址已在使用中

使用 WSO2 Identity Server 和 WSO2 API Manager 保护后端