我的OSX应用程序是基于Kerberos协议进行身份验证所必需的。 登录时我通过加载授权URL请求使用WebView(和WKWebView for MAC OSX> 10.9)。
登录按预期工作,但在我从计算机注销或终止我的应用程序之前,它仍然保持登录状态。 这意味着在下次加载授权URL请求时,我会自动登录而不会被提升以插入我的用户&密码。
在加载授权URL之前,我从[NSHTTPCookieStorage sharedHTTPCookieStorage]中删除了cookie。
我该如何退出?
答案 0 :(得分:1)
您需要销毁运行Web浏览器的计算机上的kerberos票证。
/usr/bin/kdestroy
OS X曾经有一个图形界面来管理门票,但我认为这已经很久了。你应该只是这样做测试。 Kerberos票证在OS X中的许多应用程序之间共享,如果您的应用程序甩掉票证,您的用户将会用干草叉来跟踪...
答案 1 :(得分:0)
我的解决方案是通过以下方式关闭我的申请:
[NSApp终止:自我];
更好的解决方案是重新启动应用程序,但这对我来说已经足够了。