Mac*_*ado 7 authentication macos login
我需要为任何Apple的Macbook自定义整个登录屏幕和功能.
一般的想法是在用户凭据下控制以在外部认证服务器上认证该用户.
因此,定制UI非常重要,例如为第二个密码输入添加新的TextField或显示像QR码这样的图像.
经过一些研究,我发现只有两个相关的项目:
然而,它是从4年前开始,似乎已经过时了.
2 - https://developer.apple.com/library/content/samplecode/PreLoginAgents/Introduction/Intro.html
我已经从Apple 部署了PreLoginAgent的示例代码,但它只在登录时打开外部应用程序.
注意:我正在寻找一个解决方案,我可以避免中断登录.
我不确定为什么您要取消第一个链接(NameAndPassword)
它是Apple的SFAuthorizationPluginView示例项目的“固定”版本。这是您需要使用的类。不幸的是,如您所见,Apple自己的示例未进行编译,而且文档非常薄,因此使其运行起来可能很棘手。
但是,我从上面的链接中获取了项目并将其编译到我的计算机上。
然后我将结果复制.bundle到/Library/Security/SecurityAgentPlugins
接下来,您需要在授权数据库中注册插件:
security authorizationdb read system.login.console > outfile.plistoutfileplist通过替换来修改:
<string>loginwindow:login</string>
与:
<string>NameAndPassword:invoke</string>
security authorizationdb write system.login.console < outfile.plist
现在,注销,登录屏幕将反映自定义视图。
安装后,您提供的链接就是一个很好的简单PoC。如果在自定义SFAuthorizationPluginView以执行所需操作时需要其他帮助,建议您围绕此问题提出一些具体问题。
仅仅因为API较旧并不意味着它已经过时。这些年来,登录屏幕没有太大变化。至于过时的示例和不完善的文档,这似乎是这些更深奥的macOS开发人员功能的典型代表。
有用的链接:
自定义登录屏幕Mac OSX(SFAuthorizationPluginView)
https://developer.apple.com/documentation/securityinterface/sfauthorizationpluginview
| 归档时间: |
|
| 查看次数: |
1092 次 |
| 最近记录: |