2015-05-06 80 views
0

基于Kerberos协议进行身份验证需要使用我的OSX应用程序。 对于登录,我通过加载授权URL请求来使用WebView(和WKWebView for MAC OSX> 10.9)。从SSO注销kerberos

登录按预期工作,但它仍保持登录状态,直到我从计算机注销或终止我的应用程序。 这意味着在我下次加载授权URL请求时,我自动登录而不被提升为插入我的用户&密码。

在我加载授权URL之前,我从[NSHTTPCookieStorage sharedHTTPCookieStorage]中删除了cookie。

我该如何注销?

回答

0

我的解决办法是关闭我的应用程序:

[NSApp表示终止:自];

更好的解决方案将是重新启动应用程序,但现在这对我来说已经足够了。

1

您需要销毁运行Web浏览器的计算机上的kerberos票据。

/usr/bin/kdestroy 

OS X过去有一个图形界面来管理票证,但我认为这已经很久没有。你只应该做这个测试。 Kerberos票据在OS X中,如果您的应用程序吹走了票,你的用户会跟在你后面干草叉许多应用程序之间共享...

+0

旧的Kerberos GUI应用程序已经死了,但它已被替换为Ticket Viewer(隐藏在/ System/Library/CoreServices /中),它完成了大部分相同的事情。 –

+0

@弗雷德最魔法奇迹-d 我执行的kdestroy并将其与成品: kdestroy:krb5_cc_destroy:无凭据缓存文件中找到 @戈登 - 戴维森 门票Viewer是空 我觉得解决应该来自我的应用程序,特定于我的WebView,因为正如我在重新启动应用程序时所说的那样,我提倡插入用户名和密码。 任何意见? – EdiZ