在不重复用户验证逻辑的情况下阻止用户访问

时间:2012-03-02 12:54:10

标签: backbone.js

如何阻止人们访问某些路线,例如编辑和删除,如果他们没有注册或未获得授权?

换句话说,我该怎么做才能让路由器拒绝或重定向这样的调用:

http://appname.com/#/photo/1/edit

没有重复验证逻辑?

我认为这是一个非常热闹的问题如下:如果我转到上述网址,如果我已经拥有照片模型,我的路由器方法将不会费心从服务器获取信息(因为这是有状态的应用程序应该做,对吧)。但是,现在完全没有办法判断当前用户是否是照片的所有者(能够编辑),除非路由器方法明确检查他们的ID是否匹配...这已经是验证逻辑的重复(因为服务器总是进行验证。

像这样的困境简直毁了我的一天

1 个答案:

答案 0 :(得分:0)

您的模型不应该执行任何身份验证逻辑。如果您的服务器端代码中有逻辑,那么问题是什么?您的服务器应该返回unauthorized401或类似的东西),然后您的模型可以做出适当的响应(例如,向用户打印错误消息)。