4

我目前正在使用服务器端的 Jax-RS(部署在 tomcat 7 容器上)和前端的 HTML5、CSS3 和 jQuery 开发一个轻量级 Web 应用程序。

连接工作正常。我不知道如何保护应用程序。我的想法是用户可以通过前端注册并分配给默认角色(例如用户)。

从那时起,用户可以登录到该网站并能够例如注册课程或类似的东西。

如何以安全的方式实现这一目标?最好使用tomcats身份验证(DIGEST或FORM)?还是有其他方法?例如在每个请求中将用户和密码作为 MD5 哈希传输?

如果我可以在 Ressource 类中使用 @RolesAllowed Annotation 来注释应该只能用于特定组的方法,那就太好了。

以及如何将用户数据存储在客户端上?这样用户就不需要在每次请求后登录?我必须为此使用cookies吗?

我不确定的另一件事是如何存储购物车中的数据。在我为特定用户存储所有购物车内容的服务器上使用数据库表是个好主意吗?我如何识别那里的用户?登录用户和表中的购物车条目之间的映射如何?

我希望有人可以帮助我:-)。

提前致谢

问候

4

2 回答 2

1

我已经在使用会话 cookie 的几个系统中做到了这一点。简单的方法是@Context HttpServletRequest在每个服务器端 Jersey-fied 方法上添加一个参数,它将在那里获取会话。在我的情况下,我有一个安全处理程序(类似于 Shiro,但没有它的包袱),它将包装的用户会话作为 Tomcat 过滤器放置在线程上下文中,所以我不使用@Context HttpServletRequest注释。如果用户尝试通过他们不可用的 ID 访问 RESTful 资源,他们不会得到任何响应。

于 2013-02-19T17:45:05.847 回答
0

我会按照您的建议使用 FORM 身份验证。您可以使用角色注释生成上下文安全约束。

要像篮子一样存储用户信息,请将其保存在会话对象中,然后在到期时序列化到磁盘或数据库以进一步持久化。

于 2013-02-19T16:19:28.537 回答