【问题标题】:Swift - get user password through dialogSwift - 通过对话框获取用户密码
【发布时间】:2018-01-13 01:07:24
【问题描述】:

我正在使用 Xcode 创建一个应用程序,我需要使用用户密码来执行 root 任务。我的问题是,如果没有创建一个使用像shell("echo",prompt("Enter Password"),"| sudo -S do_root_thing") 这样非常不安全的sudo 的管道(shell 和提示符是预定义的)。我知道有些程序会显示如下警告消息:

有没有一种安全的方法来做这样的事情?

【问题讨论】:

    标签: swift macos root


    【解决方案1】:

    您应该创建一个特权帮助工具,使用SMJobBless 安装它,并通过 XPC 与其通信。

    帮助您入门的一个很好的例子是EvenBetterAuthorizationSample.

    如果您想要一个更简单的基于 Swift 的解决方案,我已经创建了一个名为 CSAuthSample 的库,它试图尽可能易于使用,同时还提供了一些附加功能。 免责声明:我是这个库的作者。

    【讨论】:

    • SMJobBless的文档很少,不知道是什么
    • @Namo 你说得对;实际上我前段时间自己写了一个基于 Swift 的库来解决这个问题,所以我将添加一个链接。希望 SO 不会将其视为垃圾邮件:-/
    猜你喜欢
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2011-04-21
    • 1970-01-01
    • 2019-05-01
    • 2014-01-04
    相关资源
    最近更新 更多