0

我们正在构建一个基于 webtech 的移动应用程序。我们的端点 (weblogic 11g) 发送一个 jessionid cookie 以及一个 _wl_authcookie_jessionid_ cookie,该 cookie 稍后会自动再次发送到服务器以进行授权。但我们不希望这种情况发生,而是希望用户在应用程序启动时输入他的凭据,然后将这些凭据存储在 javascript 运行时变量中,如果用户单击注销,我们会丢弃这些变量。但是,如果输入任意登录凭据,ajax 请求会将 cookie 附加到请求中,服务器会忽略我们的 BASIC 标头,而是使用以前的 cookie 来授权用户。

那么我们如何:删除 cookie,或者首先阻止它们被放置?

4

1 回答 1

0

我能想到的可能的解决方案包括:

1) 禁用 WLS 自动为应用程序设置的会话 cookie(它具有您的移动应用程序访问的端点)。这可以通过在 weblogic.xml 中设置以下内容来完成:

...
<session-descriptor>
    <cookies-enabled>false</cookies-enabled>
</session-descriptor>
...

2)将“enforce-valid-basic-auth-credentials”设置为false(注意它会影响整个域)

How: http://docs.oracle.com/cd/E28280_01/web.1111/e13711/thin_client.htm#autoId8

3)在您的服务器端应用程序中创建 servlet 过滤器,它将充当传入请求的身份验证器/授权器。

于 2013-05-07T14:19:40.030 回答