创建OS X身份验证插件

Mic*_*wek 5 macos sfauthorizationpluginview objective-c osx-mavericks

我需要为OS X登录机制创建一个插件,以便我可以通过键入密码来解锁屏幕.我知道这样的事情已经存在 - 敲门解锁或Rohos USB密钥登录都是例子.

我在ADC上找到了名为"NameAndPassword"的示例代码(https://developer.apple.com/library/mac/samplecode/NameAndPassword/Introduction/Intro.html),经过一番努力(OS X中的自定义登录/锁定屏幕)小牛队)我设法在Mavericks上构建并安装它.问题是整个插件显然有点过时,并且在我输入密码后不会登录(我需要通过SSH重启机器).我是一个xcode/objective-c初学者,不能自己解决这个问题.

基本上,我的问题是:如何修改示例NameAndPassword代码,以便我可以使用键盘以外的输入登录?我想创建一个提供密码的应用程序,但不是通过键盘 - 这就是我相信Knock解锁工作的方式.

Mic*_*wek 7

Apple官方代码中存在一些错误.我打了补丁,穿上了我的Github:https://github.com/skycocker/NameAndPassword

只要你更换,这个版本的插件应该可以正常工作

<string>loginwindow:login</string>
Run Code Online (Sandbox Code Playgroud)

授权策略数据库中的行

<string>NameAndPassword:invoke</string> 
Run Code Online (Sandbox Code Playgroud)

否则它不会让你登录.

  • @OscarSwanros取决于您是否启用了FileVault。如果这样做,则无法更改启动登录屏幕。但是,您可以打开快速的用户切换,然后只运行`/ System / Library / CoreServices / Menu \ Extras / User.menu / Contents / Resources / CGSession -suspend`或从顶部的菜单栏中选择“登录屏幕”您的用户名。 (2认同)