ResetPassword 指令

重設或更新資料庫中的密碼。 這個指令:

請搭配 SSL(安全 Sockets 層次)使用此指令,以確保客戶的登入密碼與個人資訊皆經過加密。其做法是鍵入指令與 HTTPS 安全通信協定。

參數值

http://host_name/path/
WebSphere Commerce Server 與架構路徑的完整名稱
langId
設定或重設在階段作業期間的屬意語言; 有關商店的支援語言可在 STORELANG 表格中找到。
forUser
將代替其執行指令之使用者的登入 ID;只有具備客戶服務代表存取群組(安全職務)的人員可指定這個參數。
forUserId
與 forUser 相同,但卻是 USERS 表格中之內部使用者 ID 所指的使用者。
URL
當指令順利完成時所要呼叫的 URL
storeId        
商店的參考號碼
reLogonURL
當發生錯誤狀況時 ResetPassword 指令將重新導向至這個指定的 URL
logonId
密碼將重設之使用者的登入 ID
challengeAnswer
檢核問題的回答;用以確認使用者的身份
logonPassword
使用者的新密碼
logonPasswordOld
使用者的現行密碼
logonPasswordVerify
使用者的驗證密碼,必須和 logonPassword 相同

範例 1
這個範例是藉由提供 logonId 和檢核回答給想要更新密碼的已登錄使用者, 以重設密碼:
    https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
    &logonId=a&challengeAnswer=a
如果使用者是登錄客戶或管理者, 它會檢查舊密碼是否正確,以及新密碼是否符合驗證密碼。它也會驗證密碼符不符合這位使用者密碼原則所定義的需求。 如果所有條件都符合,就會以新密碼來更新資料庫。

範例 2
這個範例藉由指定舊密碼和新密碼給忘記其已登錄使用者密碼的訪客使用者, 以重設密碼:
    https://myhostname/webapp/wcs/stores/servlet/ResetPassword?url=basemall.jsp
    &logonPasswordOld=a&logonPassword=b&logonPasswordVerify=b
如果使用者是訪客,指令會檢查檢核問題的回答是否吻合資料庫中的回答。 如果相符,則會產生隨機密碼、更新資料庫並將密碼以電子郵件傳送給客戶 (亦即 logonId 參數值所指的客戶)。

規則

異常狀況

一旦發生錯誤狀況,假設您在 reLogonURL 參數中有指定一個錯誤 URL, 則 ResetPassword 指令會重新導向至該 URL,並根據要求放置一個錯誤碼。否則, 如果您未使用 reLogonURL 參數, 指令將會擲出 ECApplicationException, 並視使用者身份重新導向至一個錯誤檢視畫面。您可以使用 ErrorDataBean 類別取得錯誤碼。

如果必要的參數遺漏或不正確,ResetPassword 指令會根據要求者的身份, 設定下列錯誤碼之一。如果您有使用 reLogonURL 參數, 這些錯誤碼會加到指定的錯誤 URL 中:

取決於身份而定的錯誤檢視畫面:

已登錄使用者
ResetPasswordRegisterErrorView
訪客使用者
ResetPasswordGuestErrorView

錯誤狀況與相關的錯誤碼:

指令要求者 錯誤狀況與相關的錯誤碼
訪客或已登入的使用者。
遺漏 URL 參數。
ECSecurityConstants.ERR_MISSING_REDIRECTURL

附註:在此情況下,指令會重新導向至 ResetPasswordView 錯誤檢視畫面。

訪客
遺漏 logonId。
ECSecurityConstants.ERR_MISSING_LOGONID
logonId 不屬於有效的已登錄使用者。
ECSecurityConstants.ERR_INVALID_LOGONID
未提供檢核回答。
ECSecurityConstants.ERR_MISSING_CHALLENGEANSWER
所提供的檢核回答不正確。
ECSecurityConstants.ERR_INVALID_CHALLENGEANSWER
遺漏提供的 logonLd 的電子郵件位址。
ECSecurityConstants.ERR_MISSING_EMAIL
使用者帳戶停用。
ECSecurityConstants.ERR_DISABLED_ACCOUNT
已登入的使用者
遺漏 logonPasswordOld 參數。
ECSecurityConstants.ERR_MISSING_OLDPASSWORD
遺漏 logonPassword 參數。
ECSecurityConstants.ERR_MISSING_NEWPASSWORD
遺漏 logonPasswordVerify 參數。
ECSecurityConstants.ERR_MISSING_NEWPASSWORDVERIFY
logonPassword 與 logonPasswordVerify 參數不相符。
ECSecurityConstants.ERR_MISMATCH_PASSWORDS
已登入使用者所提供的舊密碼不正確。
ECSecurityConstants.ERR_INVALID_OLDPASSWORD
密碼長度太短。
ECSecurityConstants.ERR_MINIMUMLENGTH_PASSWORD
這個類型所能使用的連續字元數目大於容許的上限。
ECSecurityConstants.ERR_MAXCONSECUTIVECHAR_PASSWORD
這個類型所能使用的字元出現次數大於所容許的上限。
ECSecurityConstants.ERR_MAXINTANCECHAR_PASSWORD
密碼的字母未達數目下限。
ECSecurityConstants.ERR_MINIMUMLETTERS_PASSWORD
密碼的位數未達數目下限。
ECSecurityConstants.ERR_MINIMUMDIGITS_PASSWORD
密碼和使用者 ID 不相符。
ECSecurityConstants.ERR_USERIDMATCH_PASSWORD
密碼不能和先前的密碼相同。
ECSecurityConstants.ERR_REUSEOLD_PASSWORD
使用者帳戶停用。
ECSecurityConstants.ERR_DISABLED_ACCOUNT

錯誤處理碼是 ECConstants.EC_ERROR_CODE。

相關概念

相關作業

相關參照

 
IBM copyright