我正在构建一个可可应用程序,该应用程序可以修改用户操作系统上的文件,该文件需要管理权许可。我有一个使用的概念证明 authopen 但这并不能提供我希望实现的UX体验。每次修改文件时,都会提示用户输入其密码。是否有一种方法可以在其寿命期间授予该申请的权限?

目标:应用程序一次要求用户输入密码 曾经, ,出发应用程序不会提示密码。

下一个最好的:应用程序一次要求用户输入密码 在申请发射中, ,在应用程序重新启动之前,forthaph Application不会提示密码。

我知道授权服务以及创建专门处理特权文件的守护程序的可能性 甚至 在深入进入另一个系统之前可能可能。

非常感谢任何建议,批评或有用的链接。

干杯,达斯汀

有帮助吗?

解决方案

是的,使用授权服务是前进的道路。您可以通过授权copyrights()在应用程序中获得授权ref(如果需要的话,则显示UI),然后将其传递给您的助手(通过将其包装到外部表单中),该形式验证它实际上是否在执行特权任务之前实际上获得了必要的权利。授权服务能够在 /etc/authorization 数据库,因此,如果您选择自定义权利,则可以选择允许谁获取它,存在什么超时或其他条件等的默认设置等。

要部署您的特权辅助工具,您应该使用服务管理框架,特别是 SMJobBless() 哪个验证代码在将助手部署为一个助手之前,在您的客户和助手匹配中签署了身份 launchd 工作。然后,可以通过主应用程序按需启动您的助手。

随时询问您是否想澄清答案中的任何步骤,但是我已经在书中写了有关特权分离的这两个方面 专业可可申请安全 因此,请随时购买一两个副本;-)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top