У меня есть сайт Asp.net, построенный на C # с проверкой подлинности с помощью форм.Мы используем Active Directory для аутентификации пользователей, и все работает отлично.Но сегодня мы поняли, что войти в любую учетную запись можно, просто введя имя пользователя и нажав «Войти», не вводя пароль!Это происходит только в среде разработки, работающей на localhost (слава богу!), Но мне это не нравится ...
Я никогда не видел такого поведения раньше, и очень хотел бы, чтобы кто-то объяснил, какэто может случиться.Это функция разработчика, созданная Microsoft?Или кто-то в моем офисе сделал черный ход, не сказав остальным?Я буду исследовать этот последний вариант далее, но до тех пор - кто-нибудь сталкивался с этим раньше?
Большое спасибо заранее!
РЕДАКТИРОВАТЬ: Это где аутентификация возвращает истинудля каждого имени пользователя, которое я выбрасываю - с пустым паролемДругие пароли возвращают значение false.
using (var context = new PrincipalContext(ContextType.Domain))
{
result = context.ValidateCredentials(username, password);
}
PrincipalContext
по умолчанию - System.DirectoryServices.AccountManagement