我们拥有一个覆盖整个网络的 CUPS 服务器,为所有校园用户提供经过身份验证的打印机访问权限。不过,我们对 Mac 客户端处理不良打印身份验证的方式感到非常失望。
在任何其他身份验证对话框中,当用户输入错误的用户名或密码时,窗口会短暂摇晃,允许用户重新输入。对于打印机,情况并非如此。它会很乐意接受(甚至保存到钥匙串,如果指定的话)错误的凭据。身份验证对话框被关闭,然后用户必须处理显示为“暂停(需要身份验证)”的打印作业。要打印他们的作业,他们需要在打印机的队列中选择它,单击“恢复”,然后重新输入适当的凭据。
有没有办法让失败的打印身份验证在 Mac OS X 客户端上更直观地运行?
我们正在尝试支持 BYOD 环境,但我们的最终用户对此感到非常困惑。它预先填充用户的完整登录名(例如“Smith, John”)的方式让情况变得更糟,这往往会让他们认为使用本地机器密码。
答案1
我不知道如何让 Mac 做出不同的行为/响应天生地,但您可能更幸运地编写了一个使用 的打印机设置脚本,lpadmin
您可以在其中指定打印机/打印机路径以及凭据。您可以尝试使用lpadmin
(和-o auth-info-required=username,password
) 进行身份验证;但不确定执行该命令时是否有任何反馈到 stdout,并且它也必须使用 运行sudo
。
您可以使用以下方式禁用预填充(我相信在 OS X 10.5+ 中):
defaults write /Library/Preferences/com.apple.NetworkAuthorization UseShortName -bool YES
defaults write /Library/Preferences/com.apple.NetworkAuthorization UseDefaultName -bool NO
仅此一项就可以减少错误的身份验证尝试次数,并提供关于使用什么凭据的清晰文档(我通常会这样表述,“使用与办公室的 Windows 计算机上使用的相同的网络用户名和密码”)。