2012-01-20 136 views
10

我的任务是设置一个服务器,它使用基于Web的控制界面,使用kerberos和活动目录进行身份验证。我正在使用twisted.web作为Web服务器。问题是我不希望用户密码通过这个服务器,但我不知道是否有可能让firefox和chrome从kerberos密钥服务器获取密钥。具体来说,它必须使用Firefox,其他浏览器将是一个奖金。有没有一个JavaScript库,可能使用HTML5或Firefox插件,允许使用kerberos对不可信服务器进行身份验证? Flash应用程序也可能是可能的。通过javascript或HTML的Kerberos 5

+2

'HTML5'是'HTML'。 – Francisc

+0

如果你使用Python,这个问题的答案可能是有用的:http://stackoverflow.com/questions/922805/spnego-kerberos-token-generation-validation-for-sso-using-python#1001619 – millimoose

+0

milimoose的建议存在的问题是密码仍然需要通过服务器,所以用户必须信任服务器才能避免混淆。用户可以查看javascript,如果他们关心它,所以我想保留它在客户端机器上的javascript和AD服务器之间。 JavaScript网络套接字接近,但我宁愿不尝试使用它们自己实现kerberos协议。 – Perkins

回答

1

也许你可以通过扭曲前面的反向代理并使用Web应用中的http认证,并通过apachenginx模块将认证委托给Kerberos。

虽然代理将收到密码,但扭曲的服务器不会与您的用例一致。请求将被代理拦截,并在成功验证后委托给您的后端(proxy_pass)。

这样,您的解决方案将独立于任何http客户端/ Web浏览器。

+1

一个有趣的建议,我没有考虑过。问题是我的组织没有设置服务器来处理这种类型的代理服务。我可以设置一个,但只在服务器上我不想输入密码。与我不相信服务器软件的情况并非如此,因为它希望避免审计恶梦,如果有人得到他们的帐户受到损害。 – Perkins