2
任何人都知道如何获取用户的简短用户名,例如。 “约翰史密斯”,给出他们的全名,例如。 “约翰·史密斯”?从全名获取简短用户名
注意我对任何用户感兴趣,而不是当前用户,所以像NSUserName这样的函数是不相关的。
为什么?我正在使用授权服务验证用户名和密码。这允许人们输入他们的短名或全名,这很好,但是我需要知道他们实际登录的人是谁(即短用户名和/或用户ID)。
像[NSHomeDirectoryForUser(用户名)lastPathComponent]恶劣的黑客不一致工作。
+1我从来没有听说过这个框架! – 2009-10-01 23:31:26
完美,谢谢。我相信苹果的文档可以更容易地找到这些东西。 当我问到这个问题后,我发现getpwnam()会这样做,但很高兴有这个认可的方法。我敢打赌getpwnam不会做网络用户。 – Adrian 2009-10-01 23:43:27
getpwnam()通过DirectoryServices执行网络用户。然而,关于CBIdentity的好处是你可以指定两者,或者(或者,你可能只想检查本地用户,或者只检查网络用户)。 另外,CBIdentity允许您通过全名,短名称,电子邮件地址或别名搜索身份,这非常方便:)。 – 2009-10-01 23:48:14