Я відкрив справу з підтримкою Microsoft Premier. Ось електронний лист між мною та підтримкою Microsoft. Вони в основному кажуть, що це відоме питання. Це не помилка і це не особливість.
Задній кінець буде аналізувати ім’я користувача та належним чином викреслювати незаконні символи. Фронтальний інтерфейс не проводить ніякої перевірки користувальницького інтерфейсу, тому що може бути інший інтерфейс для входу третьої сторони. Їх вимога до імені користувача може бути різною. Я думаю, що вони мають на увазі - постачальників сертифікатів третьої сторони.
05 жовтня 2012 вранці
Я щойно зателефонував із одним із їхніх інженерів. Поясніть йому всю проблему ще раз. Він майже впевнений, що :something
він не має особливого значення на сьогоднішній день, але не може гарантувати, що це може означати щось у майбутньому.
Однак у нього немає вихідного коду для підтвердження цього. Він надішле електронний лист комусь іншому з вихідним кодом, щоб підтвердити це.
03 жовтня 2012 р. Ніч - моя відповідь
Дякуємо за інформацію. Однак я спробував деякі інші незаконні персонажі, наприклад; та |.
Користувацький інтерфейс Logon може успішно виявити це та сказати мені, що моє ім’я користувача або паролі невірні.
Якщо передній кінець дійсно не робить перевірку вводу, а задній може дійсно викреслити всі незаконні символи, чому інтерфейс Logon не дозволить мені увійти як Harvey@company.com|something або Harvey@company.com; щось, але Harvey@company.com: щось.
Ця дивна поведінка трапляється лише на ":".
-Харві
03 жовтня 2012 року вдень - відповідь щодо підтримки MS
Привіт Харві,
Немає помилки у валідації на передньому кінці, оскільки передній кінець не виконує жодної перевірки. Перевірка виконується, коли ви вводите свої облікові дані та намагаєтесь увійти, потім на задньому плані виконується перевірка та відображається відповідна помилка.
Причина того, що не виконувати перевірку перед тим, полягає в тому, що існують інші UIO, які використовуються сторонніми користувачами, і необхідність роботи та автентифікації користувача може бути різною. Деякі користувальницькі інтерфейси можуть зажадати імені користувача у різному форматі, тому виконання перевірки під час введення користувачем даних облікових даних порушує ці інтерфейси користувача.
Що стосується Backend, то кожен інтерфейс здійснює виклик API бекенда аутентифікації, незалежно від того, який інтерфейс присутній у передній частині. Таким чином, проведення перевірки в бекенді забезпечує належну автентифікацію
З повагою XXXX
03 жовтня 2012 вдень - моя відповідь
Я розумію пояснення щодо різного керування в передній і задній частині, оскільки я також програміст.
Отже, це звучить як незначна помилка в логіці перевірки вхідного інтерфейсу на передньому кінці, хоча в задній частині немає жодної помилки.
Зауважте, що я теж намагався зробити те саме, використовуючи runas.exe. Runas.exe показав мені повідомлення про помилку перед тим, як передати неправильне ім’я користувача до бек-енду. Отже, для мене runas.exe робить правильну перевірку вводу.
Якщо ви все ще вважаєте, що немає помилки на передньому кінці інтерфейсу користувача, чи можете ви пояснити мету надання дозволу кінцевому користувачеві ввести неправильне ім’я користувача та потім відобразити його на екрані?
Спасибі, Харві
3 жовтня 2012 р. Вранці - відповідь служби підтримки MS
Привіт Харві,
Прошу вибачення за затримку. Я надіслав ваше запитання моєму малому бізнесу, і ось його відповідь: немає помилок. інтерфейс користувача відображає те, що ви ввели. Задній кінець аналізує рядок, щоб визначити домен та ім'я користувача. Це робиться правильно, оскільки: є незаконним характером.
Будь ласка, дайте мені знати, якщо вона уточнює ваші запитання чи я можу допомогти вам у подальшому.
З повагою XXXXX