我正在开发一个使用spring-hibernate在java中构建其余Web服务的服务器应用程序,其中该服务将被其他客户端使用。我已经关注此链接http://www.beingjavaguys.com/2014/08/spring-restful-web-services.html。
我的问题是
1>我应该在服务器应用程序中维护会话吗?如果是,如何?
2>我应该在服务器端进行任何验证吗?
3>要在登录时验证用户我应该使用spring security还是仅仅比较数据库中的用户名和密码就足够了?
4>当用户在特定时间内不与服务器交互时应该有会话超时,是否应该在sserver应用程序或客户端实现?
我是java和Web服务的新手,我们非常感谢任何建议,链接和指导。
答案 0 :(得分:0)
1>我应该在服务器应用程序中维护会话吗?如果是的话怎么样?
其他Web服务不依赖于客户端会话,因为它们是无状态的,因此无需考虑会话管理。
2>我应该在服务器端进行任何验证吗?
什么样的验证?
3>要在登录时验证用户我应该使用spring security还是仅仅比较数据库中的用户名和密码就足够了?
您可以同时使用这两种方法,但我认为基于令牌的身份验证(基于Spring安全性)将是最佳方式。
4>当用户在特定时间内没有与服务器交互时应该有会话超时,是否应该在服务器应用程序或客户端实现?
由于服务器不跟踪用户会话,因此应在客户端实施超时。
如果您想要一个很好的起点,可以查看以下项目。
答案 1 :(得分:-1)
1>我应该在服务器应用程序中维护会话吗?如果是,如何?
Web服务stateless
表示服务器不存储有关服务器端客户端会话的任何状态。您应该在客户端管理会话,否则您将最终处理大量负载服务器端的会话,我相信你不想这样做。
2>我应该在服务器端进行任何验证吗?
如果通过验证表示数据完整性,我认为您必须这样做才能有利于数据完整性和您的应用程序。
3>要在登录时验证用户,我应该使用spring security 或者只是比较数据库中的用户名和密码就足够了?
你可以做到这两点,使用spring security是一个不错的选择,你必须配置或构建自己的AuthentificationManager
,它将比较存储在数据库中的凭据
4>当用户在那里与特定时间不与服务器交互时 应该是会话超时,是否应该在sserver中实现 申请或客户方?
您可以设置会话超时,这应该在客户端实现。