我有一个没有特殊字符的AD用户(?= S with caron),例如myspecialuser.为什么我可以使用用户名my?pecialuser中的特殊字符登录到
Windows,即使它不存在?如何禁用此行为?
微软是故意这样做的.看到这篇文章:
Microsoft diacritic mark
我也发现这个直接回答你的问题,不能你禁用这个行为.
Recently someone asked:
Can anyone point me to the document with list of allowed characters for AD username (W2K and W2K3)? I am also looking for document which describes behavior that some characters are replaced during logon process. Example: If my username is ddomjanovic I am also able to login with username ddomjanovi?. So it looks like ? (codepage 1250,E6 = U+0107 : LATIN SMALL LETTER C WITH ACUTE) is replaced with c (63 = U+0063 : LATIN SMALL LETTER C) during logon process.
Can this behavior be disabled?
我在这篇文章中回答了这个问题,但是以一种迂回的方式.简短的回答是否,没有办法禁用该行为.原因是Active Directory传递以下标志:
NORM_IGNORECASE | NORM_IGNORENONSPACE | NORM_IGNOREWIDTH | NORM_IGNOREKANA
这意味着这样的许多区别被折叠在一起.
正如其他帖子所述,本地账户不能通过AD工作,因此他们对事物采取更直接的立场.你知道,整个“UpCase和Binary”的东西不仅认为c(U 0063)和?(U 0107)是不同的字母,而且还认为?(U 0107)和?(U 0063 U 0301)是不同的.由于后一对看起来很相似,显然这是一个解决方案,很多人会比原来的问题更糟糕!
摘自:Sorting it all out
(编辑:ASP站长网)
|