Поведение изменения пароля единого входа
В этом разделе представлен пошаговый подход к устранению поведения при смене пароля единого входа.
Пошаговый подход
В следующем списке представлен пошаговый подход к устранению поведения при смене пароля единого входа.
Когда метод EAP получает уведомление об изменении пароля, метод уведомляет EAPHost; EAPHost, в свою очередь, уведомляет запрашивающего, возвращая код действия EapHostPeerResponseInvokeUI.
Получив код действия EapHostPeerResponseInvokeUI от EAPHost, запрашивающий получает контекст пользовательского интерфейса из метода EAP, вызывая функцию EapHostPeerGetUIContext ; Затем EAPHost получает контекст пользовательского интерфейса из метода EAP, вызывая соответствующую функцию метода.
Запрашивающий передает контекст пользовательского интерфейса процессу пользовательского интерфейса (используя определенную форму взаимодействия между процессами).
Процесс пользовательского интерфейса вызывает EapHostPeerQueryInteractiveUIInputFields в EAPHost.
EAPHost собирает контекст пользовательского интерфейса, вызывая EapPeerQueryInteractiveUIInputFields в методе EAP.
Метод EAP предоставляет все необходимые сведения о контексте пользовательского интерфейса в структуре EAP_INTERACTIVE_UI_DATA , где dwDataType имеет значение EapCredExpiryReq , а pbUiData указывает на структуру типа EAP_CRED_REQ.
При заполнении структуры EAP_INTERACTIVE_UI_DATA этот метод EAP заполняет только параметр curCreds и не задает флаг EAP_UI_INPUT_FIELD_PROPS_READ_ONLY в структуре EAP_CONFIG_INPUT_FIELD_DATA .
Примечание
Флаг EAP_UI_INPUT_FIELD_PROPS_READ_ONLY предназначен для полей-членов, которые необходимо изменить.
После сбора информации о контексте пользовательского интерфейса процесс пользовательского интерфейса отображает пользовательский интерфейс для сбора сведений об изменении пароля от пользователя. Эти сведения заполняются в параметре NewCreds структуры EAP_CRED_EXPIRY_REQ .
Процесс пользовательского интерфейса передает структуру EAP_CRED_RESP обратно в EAPHost через EapHostPeerQueryUIBlobFromInteractiveUIInputFields.
Процесс пользовательского интерфейса передает этот пользовательский BLOB проситеру, и проситель продолжает выполнять функции выполнения EAPHost, как обычно.
Связанные темы