0

我为不同的用户提供了各种图片库。在大多数情况下,整个页面可能会被缓存。但是,我还想要以下功能:

  1. 如果用户登录并访问他自己的画廊,则用户可以看到覆盖每个图像的“x”删除链接。

  2. 如果用户登录并在其他人的图库中,那么他们可以看到叠加层“赞”、“赞”为每张图像投票。

  3. 如果用户未登录,他们可以看到用于投票的覆盖,但是单击它们将弹出登录对话框。

我想出的方法是这样的:

  • 在服务器端 erb 模板中,无论登录状态如何,我都会始终生成投票链接并删除链接,但默认情况下我会将它们隐藏在 css 中。
  • 然后,我将根据用户的登录状态使用 js 显示它们。

问题是......在缓存页面上确定用户登录状态的最佳方法是什么?我可以在缓存页面上使用 cookie 吗?

如果我在缓存页面上有一段 javascript 检查类似于以下的 cookie 值,它会起作用吗:

  if ($.cookie("user_id") == 23) { //if user is owner of this gallery...
     //reveal delete links, hide voting links
  }

我讨厌构建一些特殊的东西来设置那个cookie......应该已经存在某种类型的DEVISE cookie吧?我如何访问它?

4

1 回答 1

0

用于$.cookie("user_id")设置cookie,用于$.cookie("user_id", "23")设置cookie。但是,您应该注意未经身份验证的滥用:每个需要身份验证的无凭据请求都应该被拒绝,否则登录的目的将被破坏。

如果您想检查您网站上的可用 cookie,请使用此书签:

javascript:alert(document.cookie)
于 2011-09-21T20:52:24.990 回答