2011-08-22 4 views
0

나는 간단한 응용 프로그램을 가지고 있지만 사용자 데이터의 기밀에 대해 신경을 쓰고 있습니다. 이 유형의 확인을 사용해도 안전합니까?레일 : before_filter의이 스타일을 사용하는 것이 안전합니다.

before_filter :authenticate, :only => [:show, :edit, :update] 
before_filter :correct_user, :only => [:show, :edit, :update] 

def authenticate 
    redirect_to(root_path) unless !current_user.nil? 
end 
def correct_user 
    redirect_to(root_path) unless current_user == User.find(params[:id]) 
end 

답변

1

필자는 필터는 일반적으로 안전하다고 말하지만 로그인 관리 및 사용자 식별 방법에 대해서는 보증 할 수 없습니다. 누군가 current_user 방법을 깨뜨린다면 몇 가지 문제가있을 수 있습니다. 그러나 인증 코드가 Devise, Authlogic 또는 잘 유지 된 보석에서 나온 것이라면 걱정할 필요가 없습니다.

CanCan으로 권한 관리에 대해 알아볼 수도 있습니다. 이런 경우를 정의하는 것은 쉽고 모든 권한을 관리하는 데 사용되는 중앙 파일이 있으므로 코드를 유연하게 유지할 수 있습니다.

+0

감사합니다. 나는 railscasts'270 (http://railscasts.com/episodes/270-authentication-in-rails-3-1)에서 인증 방법을 가지고있다. 나는 희망이있다, 그것은 나쁜 해결책이 아니다 :) –

+0

물론, 그게 나쁜 해결책이 아니야. 관심이 있으시면 칸칸을 보시기 바랍니다. Railan을하는 동일한 녀석 Ryan Bates에 의해 써진 그것. –

관련 문제