0

我需要使用我自己的逻辑在MAC 登录时对用户进行身份验证,例如:调用外部身份验证服务器

我知道我需要创建一个授权插件 ,如苹果的示例代码(NullAuthPlugin,NameAndPassword),并在“system.login.console”的授权数据库中添加一个条目来调用我的插件来实现这一点(SFAuthorizationPluginView)

但是我需要在 MAC 的默认登录屏幕(第二因素身份验证)之后调用我的插件

我的插件名称是 CustomLogin,它的函数名称是调用,所以我正在使用

在 plist 文件中我应该在哪里放置 CustomLogin:invoke 以确保插件在正常 MAC AD 身份验证屏幕后被调用

除此之外,我还需要做其他事情吗?请提出解决方案。

4

1 回答 1

0


通常 auth macos 发生在 中<string> rule builtin: authenticate, privileged </ string>,所以如果你希望你的机制在你必须在之后放置它之后执行。
不修改IU,成败无言;如果你想改变 ui 的一个元素来通知用户失败我认为你将不得不做一个 sfauthorizationpluginview 并在原始登录之前添加一个测试;

否则你也可以写一个 PAM 模块,它通常更简单,但 macOS 的登录 UI 并没有处理我所看到的 PAM 对话功能,所以它只适用于没有 UI 的模块。PAM 堆栈只是在其上调用:<string> builtin: authenticate, privileged </ string>.

于 2019-12-05T11:16:01.447 回答