Sm_PolicyApi_GetPasswordMsg()
新規パスワードの検証時に発生したエラーに関する情報を取得します。
casso1283
新規パスワードの検証時に発生したエラーに関する情報を取得します。
Sm_PolicyApi_SetPassword() がエラー コード Sm_PolicyApi_InvalidPasswordSyntax を返すとき、この関数を呼び出します。
Type
ユーザとユーザ状態関数。
構文
int SM_EXTERN Sm_PolicyApi_GetPasswordMsg (void*pSessionHandle,const char*pszPasswordMsg,unsigned int*nVersion,unsigned int*nMsgId,unsigned int*nArgs,Sm_PolicyApi_PasswordMsgField_t**ppStructMsgField);
パラメータ | I/O | 説明 |
pSessionHandle | I | 内部ポリシー管理 API データ構造体へのポインタ。この構造体は、管理者セッションおよびクライアント セッションに関する情報を保持します。 |
pszPasswordMsg | I | 関数 Sm_PolicyApi_SetPassword() の pszErrMsg パラメータで返されたエンコードされたエラー メッセージ。 |
nVersion | O | SiteMinder パスワード サービスのバージョン。 |
nMsgId | O | エンコードされたエラー メッセージに対して取得されたパスワード サービス メッセージ識別子。メッセージ識別子は Sm_PolicyApi_PasswordMsgId_t で列挙されます。 |
nArgs | O | ppStructMsgField によって参照される Sm_PolicyApi_PasswordMsgField_t 構造内のフィールド数。 |
ppStructMsgField | O | パスワード エラー メッセージ情報が含まれる Sm_PolicyApi_PasswordMsgField_t 構造へのポインタのアドレス。 |
注釈
SiteMinder
パスワード サービス エラーには一意のメッセージ識別子が含まれます。(Sm_PolicyApi_PasswordMsgId_t で列挙される)メッセージ識別子が関数 Sm_PolicyApi_GetPasswordMsg() の nMsgId
パラメータで返されます。さらに、メッセージ識別子はそれぞれエラーに関する追加の情報と関連付けられます。この追加の情報は、(Sm_PolicyApi_PasswordMsgFieldId_t で列挙される)フィールド識別子によって参照されます。
たとえば、管理者がパスワードの最小の長さを 7 文字に設定すると仮定します。ユーザがちょうど 6 文字が含まれる新しいパスワードを検証しようとする場合、以下のイベントが発生する場合があります。
- パスワード検証の試行失敗の結果、Sm_PolicyApi_SetPassword() は Sm_PolicyApi_InvalidPasswordSyntax を返します。
- ポリシー管理アプリケーションは、Sm_PolicyApi_GetPasswordMsg() を呼び出し、pszPasswordMsgパラメータ内の Sm_PolicyApi_SetPassword() から返された、エンコードされたエラー メッセージ渡すことで応答します。
- Sm_PolicyApi_GetPasswordMsg() が戻ると、
- nMsgIdには Sm_PolicyApi_PasswordMsgId_PasswordShort が含まれます。
- ppStructMsgFieldは、パスワード エラーに関する以下の追加情報が含まれる Sm_PolicyApi_PasswordMsgField_t 構造を参照します。
フィールド | 値と意味 |
iStructId | Sm_PolicyApi_PasswordMsgField_ID。 このエラー情報はパスワード ポリシーに関連しています。 |
nId | Sm_PolicyApi_PasswordMsgField_Id_Min このエラーは、パスワード(パスワードの最初文字数)に関する最小の文字要件に違反します。 |
nType | Sm_PolicyApi_FieldType_Int。 このエラー説明は整数です。したがって、 nValue が入力され pszMsg は入力されません。 |
pszMsg | "". このエラーには適用されません。 |
nValue | 7 パスワードの最小文字数。要求されたパスワードの長さはこの値未満でした。 |