В Rails 2, как я могу запретить пользователю просто изменять id # и получать доступ к другим объектам?
Например:
website.com/users/1231/edit
Как запретить пользователю изменять1231 и доступ к другой учетной записи?
1231
@user = User.find params[:id] redirect_to :back unless current_user == @user
Используйте before_filter в своих контроллерах.
before_filter
class Users < ApplicationController before_filter :require_user, :only => [:show] private def require_user @user = User.find_by_id(params[:id]) redirect_to root_url if @user.nil? end end
Используйте драгоценный камень для проверки прав доступа, например, CanCan или Aegis.Оба имеют соглашения, которые автоматически добавляют проверку прав доступа к каждому методу на каждом контроллере.