为什么可以用丹麦语å和ø替换samAccountName中的a和o?


27

一位同事刚刚向我证明,当用a丹麦语字符å(ASCII 134 /å)替换其samAccountName中的每个字符时,测试AD中的帐户便能够进行身份验证。

例如,用户<domain>\aaa可以通过进行身份验证ååå

我尝试在新配置的W2K12R2 AD(单个服务器,所有标准值)中重现此代码,并且它也在那里工作。我创建了一个帐户aaaå在此过程中切勿触碰字母,因此不包含å)并运行:

PS C:\ Users \ Administrator> runas / user:ååå记事本

输入ååå的密码:

尝试以用户“ DEV-DLI \ååå”启动记事本...

PS C:\ Users \ Administrator>

导致记事本启动,运行方式为aaa

o和Danish字符似乎也是如此ø,而最后一个丹麦特殊字符æ似乎与任何其他字符都不对应。aaa在AD中使用user 时,尝试创建具有samAccountName的用户ååå将失败,并通知您The user logon name you have chosen is already in use (...)

我像疯子一样用谷歌搜索,但一直无法发现正在发生的事情。有没有人暗示为什么这样做?


5
字符æ应对应于ae(字母a后跟字母e)FWIW。
HopelessN00b 2015年

4
该字符å不存在ASCII。
TRiG 2015年

1
是的 鸡蛋里挑骨头,但有没有这样的事情“ASCII 134”,因为ASCII只上升到127
霍布斯

1
根据man asciiASCII is the American Standard Code for Information Interchange. It is a 7-bit code. Many 8-bit codes (e.g., ISO 8859-1) contain ASCII as their lower half. The international counterpart of ASCII is known as ISO 646-IRV.看起来像是åISO 8859-1#229和øISO 8859-1#248。
jayhendren 2015年

2
作为以丹麦语为母语的人,我可以告诉您,这对我也没有任何意义。字母æ和ø不能替代ASCII。有一些常用的替代词,但是它们不是有效的拼写,在某些情况下会产生完全不同的词。在å的情况下,不到一个世纪前就将其添加到字母中,使用旧拼写不会引起任何歧义。但是,旧的拼写是使用aa而不是å。用单个a代替字母å并不正确。
kasperd 2015年

Answers:


30

这是设计使然。简而言之,Active Directory会将重音/变音字符映射为它们的“简单”形式。请参阅下面的Microsoft支持文章。

Windows登录行为(如果您的用户名包含带有重音符号或其他变音符的字符)

如果您在Active Directory目录服务中的用户名包含一个或多个带有重音符号或其他变音符的字符,则您可能会发现在键入用户名登录Windows时不必使用变音符。您可以使用一个或多个字符的简单形式登录。例如,如果您在Active Directory中的用户名是jésush,则可以在“登录到Windows”对话框的“用户名”框中键入jesush,以登录Windows。

发生这种现象,使得在必须从未安装首选键盘映射的计算机上登录Windows的情况下,仍然可以使用用户名而不带变音符来登录Windows。


13
我不是Microsoft的粉丝,但在那种情况下,我给这家美国公司留下了深刻的印象,认为这是真正的键盘输入问题,并且以一种非常优雅的方式解决了它。
Danubian Sailor'Yan

20
@РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ用户名和评论的最佳组合,我还没有在这里看到。
HopelessN00b 2015年

2
有人想知道这样做可能会留下什么样的安全漏洞:)
hobbs 2015年

5
实际上,这些不是变音标记,它们是完全独立的字母。叫带有变音标记的o与叫q带变音标记的o一样有意义。实际上,o,q和ø是三个不同的字母,只是它们中的两个使用ASCII,而其中一个不是。是否使用ASCII并不是变音标记定义的一部分。但是,在ASCII是与否可以在它是多么容易登录的差异。
kasperd

7
@kasperd这也取决于语言;在瑞典语中,“ä”是它自己的字母,在德语中,它是一个以变音符号为变音符号的“ a”。
Beerbajay

14

除了@jscott的参考(+1)之外,而且注释太长了:这种情况也做了类似的事情,因为用户名存储在正确的大小写中,因此您可以使用所有大小写的用户名登录甚至混合情况。HBruijn = hbruijn = HbRuIjN,AD 在某些字段中区分大小写但不区分大小写

正确的术语(在IT中最常出现在数据库配置中)是排序规则,它是控制排序,匹配和规范对等的要素。排序规则通常还取决于语言环境。

感兴趣的可能是https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspxhttp://www.unicode.org/reports/tr10/# Collat​​ion_And_Code_Chart_Order

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.