我使用Spring和AngularJs在java中使用REST服务进行webapp。
当用户验证某些会话数据时,会在服务器会话中保留(userid,用户结构代码)。
当我做一些用户请求(例如产品搜索)时,我需要这些数据(即用户结构代码)。
我可以通过两种方式进行:
在案例1中,我的REST API应该在其参数中包含结构代码,但我需要在服务器上开发一些安全检查,否则,理论上,“智能”用户可以请求其他结构代码的数据。
在案例2中,我的REST API在其参数中不需要结构代码,因为它可以从会话中获取。而且我也不需要实施安全检查程序,因此服务器可以更快地处理请求。
我知道REST调用应该是无状态的,但正如我所理解的,“无状态”意味着不保持会话状态(即后续状态在请求之后发生变化)。在我的情况下,我不维护会话状态,但一些静态用户信息。
在REST范例方面这是正确的还是我需要在请求中传递结构代码,进行安全检查程序等?
EDIT 要澄清,这是一个示例会话对象
public class userData {
private String userId;
private String structureCode;
...getters and setters
}