问题
我正在创建一个在Glassfish 3.1.2.2上运行的应用程序,并在身份验证成本高昂的环境中公开RESTful API。传递凭证并验证每个请求是不可行的 - 我需要一种基于会话的方法。
我正在考虑使用BASIC身份验证和内存中会话复制(该应用程序需要支持群集中的部署)。考虑到我只是共享“登录”状态,内存复制似乎很昂贵 - 应用程序的每个其他组件都是无状态的。
我的问题是:有更好的选择吗?
e.g。我可以将Glassfish配置为将会话状态持久保存到数据库,而不是使用内存中复制吗?
我考虑过“会话作为资源”方法,例如POST到/ session进行登录,DELETE / session / {id}进行注销。这提供了更多的控制,但是对于服务使用者来说更难(比如BASIC auth)。