首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在REST呼叫中传递params

在REST呼叫中传递params
EN

Stack Overflow用户
提问于 2013-11-25 18:48:48
回答 2查看 86关注 0票数 0

我正在开发一个企业应用程序,在其中我需要在REST请求中传递一个会话ID,它将在我的EJB方法中传递相同的id。

我所采取的办法是:

  1. 每当用户登录时创建会话ID。使用此会话id在每个api中传递除登录外的标头Param。(我仍在研究如何排除一个REST )
  2. 在标头中使用此会话id,并将其传递给每个EJB。(在调用拦截器之后,如何在随后的Rest调用中读取标头param。)

如果这是正确的路,谁能告诉我吗?

另外,生成用于创建会话令牌的单向散列,而不是发送自动生成的主键会有用吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 12:08:54

将令牌作为标头参数传递以标识登录用户是一种常见的方法。实际上使用OAuth的想法基本上是一样的,但是添加一种标准的方法来做到这一点,并增加终止/撤销令牌的可能性。

关于产生单向散列的问题,是的。这就是该走的路。自动生成的主键将是一个糟糕的想法。如果我登录并被分配给会话1427,我几乎可以100%确信现在有一个1426会话可供不同的用户使用。巨大的安全漏洞。

确保您尽可能难以猜测这些令牌,并在整个过程中使用https,否则将向窃听者公开您的登录令牌。

票数 0
EN

Stack Overflow用户

发布于 2014-01-22 10:07:03

是。不要使用自动生成的主键。如果您正在使用多个应用程序层,并且不想使用JSESSIONID,请使用SecureRandom生成一个会话令牌并使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20200838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档