我有点卡在这里 - 我可以写一个黑客来解决这个问题,但想知道是否有合适的方法来做到这一点。
我正在使用 Zend ACL 来指定哪些页面受到保护并需要身份验证。例如,如果“UploadVideo.php”是一个受保护的页面 - 当用户单击链接以访问该页面时 - 他将被带到登录页面,并且在登录后被重定向回 UploadVideo.php 页面。所以这一切都得到了照顾并且工作正常。
现在在另一个页面上 - 我有一个类似“投票”按钮的东西。用户只有在登录后才能投票。
案例 1 当用户登录时 - 他点击投票按钮 - 我正在使用 Jquery 通过以下方式调用操作:
$.post('/video/vote', {video_id:video_id}, function(data) {
if(data=="OK") .....
}
现在 /video/vote 是受保护的资源,并且由于用户已登录 - 投票操作被调用这会增加投票计数并发送回“OK”消息,并且页面会使用新的投票计数动态更新。
案例 2 用户未登录 - 他点击投票按钮 - 因为页面受到保护 - 通过变量“数据”中的 ajax 调用返回登录页面 理想情况下,当用户未登录时 - ajax 调用应该不会发生 - 用户应该被重定向到登录页面 - 登录后他应该被重定向到 /video/vote 动作,这将增加投票计数 - 最后用投票按钮发送回页面
我该如何处理。我可以编写一些技巧并检查用户是否已登录,并根据此决定是否进行 ajax 调用或重定向用户,但这是最好的方法。
我不知道我是否已经清楚地解释了这个问题。
谢谢你的时间