Excel / OLAP和HTTP基本授权 – Excel可以记住它已经login?

我们试图通过拦截到Cube的传入请求并使用Spring Security Filter根据需要对其进行身份validation,从而为我们的ActivePivot tomcat servlet启用定制凭证处理层。 如果用户名和密码是有效的,我们的系统为login用户提供了一个“API密钥”,并且我们希望通过使用HTTP Basic AUthenticationlogin后让Excel使用此密钥的一些方法。

在Excel“数据连接向导”中inputlogin凭证以连接到AP Cube时,它将通过在Cube URL上执行GET操作的正常stream程,在那里返回401(因为标题中没有API密钥)使用“WWW-Authenticate:Basic Realm = …”标题,通过使用“Authenticate:Basic …”标头获取相同的URL,我们执行用户名/密码login并获取API密钥并实际返回请求的内容。 这一切都很好,按预期工作。

问题是,我们可以让Excel记住它已经成功validation,并且只是在将来的请求中传递“Authenticate”标头中的API密钥? 到目前为止,我已经尝试将API Key发送回应答中的“Authenticate”头,但是Excel似乎没有注意到这一点。 有没有一种标准的方式来将基本身份validation的“login令牌”传递给客户端?

这将解决我们最终的两个问题:1)每次发出请求时,我们都不必进行login; 2)我们没有得到两倍的请求数(GET – > 401 – > GET with Auth – > return),因为Excel会知道它已经被authentication。

你可以看看春季安全PRE_AUTH_FILTER: http ://static.springsource.org/spring-security/site/docs/3.1.x/reference/preauth.html问候,

根据这篇文章,它看起来像我想要的可能是不可能的,而不需要篡改某种types的redirect:

http://www.vc2go.com/2009/11/cookie-based-authentication-does-not-work-with-excel.html

问题:世界上最大的IT公司之一的一些安全专家(我假设)发现,从Excel的networking请求发送cookie是一件坏事。 例如,当您在Excel中selectURL链接时,IE中的结果请求将不会发送任何Cookie。 该请求将在Internet Explorer中正常打开,但是用户必须login到我们的系统才能访问他们的每一行。

如果您基于会话或Cookie进行身份validation,则基本卡住了。

Interesting Posts