服务器应用中的会话管理

时间:2015-12-31 10:18:55

标签: spring hibernate spring-mvc session server

我正在开发一个使用spring-hibernate在java中构建其余Web服务的服务器应用程序,其中该服务将被其他客户端使用。我已经关注此链接http://www.beingjavaguys.com/2014/08/spring-restful-web-services.html

我的问题是

1>我应该在服务器应用程序中维护会话吗?如果是,如何?

2>我应该在服务器端进行任何验证吗?

3>要在登录时验证用户我应该使用spring security还是仅仅比较数据库中的用户名和密码就足够了?

4>当用户在特定时间内不与服务器交互时应该有会话超时,是否应该在sserver应用程序或客户端实现?

我是java和Web服务的新手,我们非常感谢任何建议,链接和指导。

2 个答案:

答案 0 :(得分:0)

1>我应该在服务器应用程序中维护会话吗?如果是的话怎么样?

其他Web服务不依赖于客户端会话,因为它们是无状态的,因此无需考虑会话管理。

2>我应该在服务器端进行任何验证吗?

什么样的验证?

3>要在登录时验证用户我应该使用spring security还是仅仅比较数据库中的用户名和密码就足够了?

您可以同时使用这两种方法,但我认为基于令牌的身份验证(基于Spring安全性)将是最佳方式。

4>当用户在特定时间内没有与服务器交互时应该有会话超时,是否应该在服务器应用程序或客户端实现?

由于服务器不跟踪用户会话,因此应在客户端实施超时。

如果您想要一个很好的起点,可以查看以下项目。

https://github.com/dhavaln/spring-rest-boilerplate

答案 1 :(得分:-1)

  

1>我应该在服务器应用程序中维护会话吗?如果是,如何?

Web服务stateless表示服务器不存储有关服务器端客户端会话的任何状态。您应该在客户端管理会话,否则您将最终处理大量负载服务器端的会话,我相信你不想这样做。

  

2>我应该在服务器端进行任何验证吗?

如果通过验证表示数据完整性,我认为您必须这样做才能有利于数据完整性和您的应用程序。

  

3>要在登录时验证用户,我应该使用spring security   或者只是比较数据库中的用户名和密码就足够了?

你可以做到这两点,使用spring security是一个不错的选择,你必须配置或构建自己的AuthentificationManager,它将比较存储在数据库中的凭据

  

4>当用户在那里与特定时间不与服务器交互时   应该是会话超时,是否应该在sserver中实现   申请或客户方?

您可以设置会话超时,这应该在客户端实现。