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