我们正在尝试为我们的 ActivePivot tomcat servlet 通过拦截传入请求来 Cube 并根据需要使用 Spring Security Filter 对它们进行身份验证。我们的系统提供 如果用户名和密码是登录用户的“API key ” 有效,我们希望通过某种方式让 Excel 在使用 HTTP 基本身份验证登录后使用此 key 。
在 Excel“数据连接”中输入登录凭据时 向导”连接AP Cube,一切正常 对 Cube URL 执行 GET 的过程,我们返回一个 401(因为 header 中不存在 API key ) 它响应的“WWW-Authenticate: Basic Realm=...” header 通过使用“Authenticate: Basic ...” header 获取相同的 URL 我们用它执行用户名/密码登录并获取 API key 并实际返回请求的内容。这是 一切都很好并且按预期工作。
问题是,我们能否让 Excel 记住它有 身份验证成功,只需传入 API key 即可 future 请求中的“Authenticate” header ?到目前为止我已经 尝试将 API key 发送回“Authenticate” header 中 响应,但 Excel 似乎没有注意到这一点。有没有 将基本身份验证的“登录 token ”传递给的标准方法 客户?
这将解决我们的两个问题:1)我们不必做 每次发出请求时都登录,2)我们不会得到双倍的 自此以来的请求数(GET -> 401 -> GET with Auth -> return) Excel 会知道它已经通过身份验证。
最佳答案
你能看一下 Spring Security 的 PRE_AUTH_FILTER 吗: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/preauth.html 问候,
关于java - Excel/OLAP 和 HTTP 基本授权 - Excel 能否记住它已登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16597728/