Java EE Web应用程序中具有Restful Api的基于表单的身份验证

时间:2014-12-24 11:16:00

标签: ajax rest java-ee architecture restful-authentication

我们的网络应用程序存在问题,我正在寻找一些意见 以下情形:

  • 我们在JBoss Application Server上部署了一个Java EE Server应用程序
  • 我们的Web应用程序也部署在AS
  • Web应用程序通过JAX-RS与服务器通信
  • Web应用程序需要身份验证

目前我们正在使用“基于表单的身份验证”,它由我们的Application Server直接提供。

这种方法的优点:

  • 列表项
  • 我们不需要做任何事情,只需指定身份验证方法'FORM'并指定登录页面
  • 我们可以自己设计登录页面 - >该页面看起来很棒

缺点以及我想讨论的问题:

我们的web应用程序向我们的服务器应用程序调用(inital-page-load / ajax)。

如果用户已通过身份验证,则会收到JSON响应。但是,如果用户未经过身份验证,则基于表单的身份验证将拦截该调用并返回一个html页面。 (这看起来很可疑:WebApp进行ajax调用并期望json,但会收到http重定向到html页面[login.html])。

目前的问题:
在某些时候,会话cookie(基于表单的auth)会超时,然后整个应用程序中断,因为每个ajax请求都不会收到任何json(如预期的那样),但会收到login.html页面。

如果解决该问题的人能够报告他们的方法和架构设计决策,那将非常感激。

当前的想法:

  • 从基于表单切换到其他内容(并提供/ login rest资源)
  • 在客户端代码上对可能的错误响应做出反应(如果http代码301 - >在登录页面上重定向)
  • 我现在想不起的其他东西

0 个答案:

没有答案