2011-03-03 93 views
2

我有一个将数据发布到Domino Java代理的外部应用程序(非Domino)。如何在Lotus Domino Java代理中获取HTTP头(授权)?

我能够通过使用REQUEST_CONTENT CGI变量读取数据,一切都很好。

但是,由于我想阻止任何人运行此代理,所以在HTTP标头中发送用户名/密码(基本认证中的“授权”,base64编码)。现在,我想读取它,如果提供的用户名/密码正确(从包含所有访问,自定义数据库,而不是多米诺骨牌目录的数据库)解码并手动验证。

我的问题是,我如何访问Java代理中的HTTP Headers,主要是为了“授权”?

顺便说一句,我们所有的Domino服务器都使用“表单身份验证”(SSO),所以我想用我的自定义解决方案伪造基本身份验证。

可能吗? 感谢您的帮助!

+1

所以你实际上并不希望它是安全的呢? – Kerr 2011-03-07 17:10:14

+0

不能承受上述评论,为什么要将Domino地址簿的内容复制到可能不安全的应用程序中。我的猜测是你想跟踪破解你的系统的尝试,但真的有商业案例吗? – AndrewB 2012-06-14 19:02:24

回答

2

如果要访问Java代理中的HTTP标头,可以在代理内的文档上下文对象上搜索它们,不确定是否特别获取“授权”标头变量(如果它存在,则它是“HTTP_AUTHORIZATION”)。 Domino使用standard CGI Variables,但如果您获得Document Context document,并遍历文档字段,则应该会看到任何其他变量。

(您可能需要强制HTTPS服务器上,以加强与您正在使用的方法的安全性,因为数据的BASE64转换不是一个加密安全的方法。)