Поведение изменения пароля единого входа
В этом разделе представлен пошаговый подход к разрешению поведения изменения пароля единого входа.
ШагBy-Step подход
В следующем списке представлен пошаговый подход для разрешения поведения изменения пароля единого входа.
После уведомления метода 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 через EapHostPeerQueerUiBlobFromInteractiveUIInputFields.
Процесс пользовательского интерфейса передает этому пользователю БОЛЬШОЙ двоичный объект в запрашивающий объект, и запрашивающий продолжается с функциями времени выполнения EAPHost, как обычно.
Связанные разделы