OS X Mavericks中的自定义登录/锁定屏幕



我正在尝试覆盖OS X中的默认登录/锁定屏幕,以允许用户以其他方式登录以外的其他方式(想想指纹扫描仪或如何"敲门以解锁"作品),我正在寻找一种数小时的方法 - 我发现看起来有用的只是授权插件ADC参考和此示例:https://developer.apple.com/library/mac/mac/samplecode/nameandpassword/present/intro.html#//apple_ref/doc/uid/dts10004022

这个nameandpassword xcode项目有点过时,但是我通过指定基本SDK(有一个硬编码的错误路径)来构建它,然后我将结果.bundle文件放入/Library/Security/SecurityAgentPlugins目录中。锁定屏幕后什么都没有改变,但是我知道我需要将授权角色添加到/etc/authorization文件中,我知道该文件不再存在于Mavericks中(有此auth.db文件和整个auth api),但是我因此我因此卡在这里 - 我不知道如何将nameandpassword放入此数据库中。

请让我知道我该怎么做,或者如果您知道其他实现目标的方法。

我找到了一种编辑数据库的方法 - 首先,我尝试了直接的/var/private/db/auth.db SQLITE修改,但是它不起作用,所以一段时间后,我设法比我想象的要容易了我将:

  1. security authorizationdb read system.login.console > outfile.plist

  2. 之后,您需要修改所得的outfile.plist,如nullauthplugin readme中所述:

    <key>mechanisms</key>
      <array>
        <string>NameAndPassword:invoke</string>
    

    (最后一行是您需要添加到文件中的一行)。

  3. 然后,将其保存到数据库:

    security authorizationdb write system.login.console < outfile.plist

然后,应该在系统的任何登录/锁定屏幕上可见更改,但是请小心!

您将无法使用NameandPassword的当前版本进行身份验证!

请确保在之前与您的Mac 连接进行工作,您可以修改数据库,以便您可以使用其他设备来重新恢复更改(只需重复DB修改过程,但是此时间删除删除您之前添加的行)。

相关内容

  • 没有找到相关文章

最新更新