ACIPasswordChange()

ACIPasswordChange()

作用:

更改帐户密码。

语法:

sword ACIPasswordChange ( ACISvcCtx     *svchp,
                          ACIError      *errhp,
                          const OraText *user_name,
                          ub4            usernm_len,
                          const OraText *opasswd,
                          ub4            opasswd_len,
                          const OraText *npasswd,
                          sb4            npasswd_len,
                          ub4            mode );

参数:

  • svchp (IN/OUT)

服务上下文的句柄。 服务上下文句柄必须被初始化,并具有与其关联的服务器上下文句柄。

  • errhp (IN)

当发生错误时,可以将其传递给 ACIErrorGet 以获得诊断信息的错误句柄。

  • user_name (IN)

指定用户名,该用户名可以采用UTF-16编码。 如果使用已身份验证句柄初始化服务上下文,则必须以NULL字符终止。

  • usernm_len (IN)

在user_name中指定的用户名字符串的长度,以字节数为单位,与编码无关。 usernm_len值必须为非零

  • opasswd (IN)

指定用户的旧密码,该密码可以采用UTF-16编码。 在密码过渡期间, ACIPasswordChange 函数同时接受旧密码和过渡密码。

  • opasswd_len (IN)

以opasswd指定的旧密码字符串的长度,以字节为单位。 opasswd_len值必须为非零。

  • npasswd (IN)

指定用户的新密码,该密码可以采用UTF-16编码。 如果在用户配置文件中指定了密码复杂性验证例程,以验证新密码的复杂性,则新密码必须满足验证功能的复杂性要求。

  • npasswd_len (IN)

npasswd中指定的新密码字符串的字节长度。对于有效的密码字符串,npasswd_len必须为非零。

  • mode (IN)

ACI_DEFAULT-使用环境句柄中的设置。

ACI_UTF16-使用UTF-16编码,而不管环境句柄的设置如何。

对于user_name,opasswd和npasswd,仅允许使用一种编码(无论是否为UTF-16)。

ACI_AUTH-如果未创建用户会话上下文,则带有此标志的调用将创建用户会话上下文并更改密码。 在调用结束时,不会清除用户会话上下文。 因此,用户保持登录状态。

如果创建了用户会话上下文,则带有该标志的调用只会更改密码,并且对会话没有影响。 因此,用户仍然保持登录状态。

说明:

此调用允许更改帐户的密码。 此调用类似于 ACISessionBegin ,但有以下区别:

如果建立了用户会话,则此调用在密码过渡期间使用旧密码和过渡密码对帐户进行身份验证,然后将密码更改为新密码。

如果未建立用户会话,则此调用将建立用户会话,并在密码过渡期间使用旧密码和过渡密码对帐户进行身份验证,然后将密码更改为新密码。