내 Windows 2008 R2 컴퓨터가 도메인에 가입되었습니다.
로그온 화면에서 사용자 이름으로 “username@mydomain.com : something”을 입력해도 여전히 제대로 로그온 할 수 있습니다. 끝에 추가 된 “: something”의 의미는 무엇입니까?
현재 사용자가 사용자 전환 화면에서 “username@mydomain.com : something”으로 표시되는 것을 볼 수 있습니다. Windows의 기능입니까? 아니면 그냥 버그입니까? 기능인 경우 “username@mydomain.com”으로 로그인하는 것과 “username@mydomain.com : something”으로 로그인하는 것의 차이점은 무엇입니까?
“mydomain \ username : something”및 “mydomain.com:something\username”과 같은 다른 조합을 시도했습니다. “username@mydomain.com : something”을 제외하고는 작동하지 않습니다.
2012 년 9 월 10 일 업데이트
Justin이 제기 한 RunAs 문제는 비슷하지만 해결하려는 문제와 정확히 동일하지는 않습니다. 당신이 할 경우
runas /user:username@mydomain.com:anything
당신은 얻을 것이다
RUNAS ERROR: Unable to acquire user password
RunAs가 username@mydomain.com:anything
사용자 이름으로 볼 때 LSA를 호출하지 않아도된다는 것을 확인했습니다 . RunAs는 입력 유효성 검사를 수행하고 거기서 오류를 반환해야합니다.
WinLogon이 다릅니다. 이 형식의 입력을 수락하고 “username@mydomain.com : anything”을 LSA로 전달합니다. LogonUserEx2
내부 kerberos.dll이 호출 된 것을 볼 수 있습니다. WinLogon 입력 유효성 검사 논리에 버그가 있거나 일부 숨겨진 기능에 실제로 허용되는 형식입니다.
2012 년 9 월 26 일 업데이트
방금 Microsoft Premier Support에 사례를 제출했습니다. 업데이트를 받으면 여기에서 업데이트하겠습니다.
답변
Microsoft Premier Support에서 사례를 열었습니다. 다음은 나와 Microsoft 지원 간의 전자 메일입니다. 그들은 기본적으로 알려진 문제라고 말합니다. 버그가 아니며 기능이 아닙니다.
백엔드는 사용자 이름을 구문 분석하고 잘못된 문자를 올바르게 제거합니다. 다른 타사 로그온 UI가있을 수 있으므로 프런트 엔드는 UI 유효성 검사를 수행하지 않습니다. 사용자 이름에 대한 요구 사항이 다를 수 있습니다. 그들이 말하는 것은 타사 자격 증명 공급자라고 생각합니다.
2012 년 10 월 5 일 아침
방금 엔지니어 중 한 명과 통화했습니다. 그에게 모든 문제를 다시 한 번 설명하십시오. 그는 :something
현재로서는 내부적으로 특별한 의미가 없다고 확신 하지만 미래에 의미가 있다고 보장 할 수는 없습니다.
그러나 그는 그것을 확인하는 소스 코드가 없습니다. 그는 그것을 확인하기 위해 소스 코드를 가진 다른 사람에게 이메일을 보낼 것입니다.
2012 년 10 월 3 일 밤-내 답변
정보에 대해서 감사드립니다. 그러나 나는 다른 불법 문자를 시도했다. 그리고 |.
로그온 UI가이를 감지하고 사용자 이름 또는 비밀번호가 올바르지 않다고 알려줍니다.
프런트 엔드가 실제로 입력 유효성 검사를 수행하지 않고 백엔드가 실제로 모든 잘못된 문자를 제거 할 수있는 경우 로그온 UI에서 Harvey@company.com|something 또는 Harvey@company.com으로 로그인 할 수없는 이유는 무엇입니까? Harvey@company.com 이외의 다른 것 :
이 이상한 동작은“:”에서만 발생합니다.
-하비
2012 년 10 월 3 일 오후-MS 지원 답변
안녕 하비
프런트 엔드는 유효성 검사를 수행하지 않으므로 프런트 엔드 유효성 검사에는 버그가 없습니다. 자격 증명을 입력하고 로그인을 시도하면 유효성 검사가 수행되고 백그라운드에서 유효성 검사가 수행되고 해당 오류가 표시됩니다.
앞에서 유효성 검사를 수행하지 않는 이유는 다른 타사 로그온 UIO가 사용되고 사용자 작업 및 인증 요구 사항이 다를 수 있기 때문입니다. 일부 UI에는 diff 형식의 사용자 이름이 필요할 수 있으므로 사용자가 자격 증명을 입력 할 때 유효성 검사를 수행하면 해당 UI가 손상됩니다.
백엔드의 경우, 모든 UI는 프론트 엔드에 어떤 UI가 있는지에 관계없이 백엔드 인증 API를 호출합니다. 따라서 백엔드에서 유효성 검사를 수행하면 적절한 인증이 보장됩니다.
XXXX 감사합니다
2012 년 10 월 3 일 오후-내 답변
프로그래머이기도하므로 프론트 엔드 및 백엔드에서 다른 처리에 대한 설명을 이해합니다.
따라서 백엔드에는 버그가 없지만 프론트 엔드 UI 입력 유효성 검사 로직에서 사소한 버그 처럼 들립니다 .
runas.exe를 사용하여 동일한 작업을 시도했습니다. runas.exe가 잘못된 사용자 이름을 백엔드에 전달하기 전에 오류 메시지를 표시했습니다. 따라서 나에게 runas.exe는 올바른 입력 유효성 검사를 수행하고 있습니다.
여전히 UI 프런트 엔드에 버그가 없다고 생각하는 경우 최종 사용자가 잘못된 사용자 이름을 입력 한 다음 화면에 표시 할 수 있도록하는 목적을 설명해 주시겠습니까?
고마워, 하비
2012 년 10 월 3 일 아침-MS 지원 답변
안녕 하비
지연되어 죄송합니다. 귀하의 질문을 SME에 전달했으며 여기에 그의 답변이 있습니다 : 버그 없음. UI에 입력 한 내용이 표시됩니다. 백엔드는 문자열을 구문 분석하여 도메인과 사용자 이름을 결정합니다. 그 이후로 올바르게 수행됩니다 : 불법 문자입니다.
궁금한 점이 있거나 추가 지원이 필요하면 알려주십시오.
XXXXX 감사합니다