我正在开发一个企业应用程序,在其中我需要在REST请求中传递一个会话ID,它将在我的EJB方法中传递相同的id。
我所采取的办法是:
如果这是正确的路,谁能告诉我吗?
另外,生成用于创建会话令牌的单向散列,而不是发送自动生成的主键会有用吗?
发布于 2013-11-26 12:08:54
将令牌作为标头参数传递以标识登录用户是一种常见的方法。实际上使用OAuth的想法基本上是一样的,但是添加一种标准的方法来做到这一点,并增加终止/撤销令牌的可能性。
关于产生单向散列的问题,是的。这就是该走的路。自动生成的主键将是一个糟糕的想法。如果我登录并被分配给会话1427,我几乎可以100%确信现在有一个1426会话可供不同的用户使用。巨大的安全漏洞。
确保您尽可能难以猜测这些令牌,并在整个过程中使用https,否则将向窃听者公开您的登录令牌。
发布于 2014-01-22 10:07:03
是。不要使用自动生成的主键。如果您正在使用多个应用程序层,并且不想使用JSESSIONID,请使用SecureRandom生成一个会话令牌并使用它。
https://stackoverflow.com/questions/20200838
复制相似问题