2011-01-21 5 views
2

API를 만들려고 노력 중이고 내 작업 중 하나에 대해서만 관리자로 제한하려고합니다.Devise가 401 응답을 가로채는 것

우리는 401 응답을 다시 보낼 때
def authorize_admin! 
    if [email protected]_user.admin? 
    error = { :error => "You must be an admin to do that." } 
    render params[:format].to_sym => error, :status => 401 
    end 
end 

이 문제는 오류가로 변환된다 :

"{\"error\":\"You need to sign in or sign up before continuing.\"}" 

이는 것입니다 내가 같이가는 before_filter를 사용하고,이 작업을 수행하려면 401 응답을 보낼 때 Devise가 다시 보내는 응답.

이 기능을 끌 수있는 방법이 있습니까?

답변

4

Devise 버전이란 무엇입니까? 이 위키 페이지는 1.2에서 작동해야한다고 제안합니다.

https://github.com/plataformatec/devise/wiki/How-To:-Provide-a-custom-failure-response-with-Warden

+0

그럴 수도 있습니다. 나는 1.1.5를 사용하고있다. –

+0

그리고 승리자에게 전리품을 가져 가라. 고맙습니다. 1.2에서 매력처럼 작동합니다. –

+0

@Heikki 그 페이지가 사라 졌나요? 어디서 새로운 링크를 찾을 수 있는지 아십니까? – baash05

관련 문제