0

Ruby on Rails에 restful_authentication 플러그인을 사용하고 있습니다. 모두 사용자 세션이 전혀 생성되지 않는 것만 제외하면 괜찮아 보입니다. 아래에 create 메소드가 있습니다. self.current_user가 설정 중이지만 실제 세션은 절대로 생성되지 않은 것 같습니다. current_user_session을 정의 할시기와 방법. 내 응용 프로그램 컨트롤러에이 메서드가 있지만 항상 실패합니다.Restful_authentication 플러그인이 작동하지 않습니다.

def create 
logout_keeping_session! 
user = User.authenticate(params[:login], params[:password]) 
if user 
    # Protects against session fixation attacks, causes request forgery 
    # protection if user resubmits an earlier form using back 
    # button. Uncomment if you understand the tradeoffs. 
    # reset_session 
    self.current_user = user 
    new_cookie_flag = (params[:remember_me] == "1") 
    handle_remember_cookie! new_cookie_flag 
    redirect_back_or_default('/') 
    flash[:notice] = "Logged in successfully" 
else 
    note_failed_signin 
    @login  = params[:login] 
    @remember_me = params[:remember_me] 
    render :action => 'new' 
end 

Application_Controller

def current_user_session 
    return @current_user_session if defined?(@current_user_session) 
    @current_user_session = UserSession.find 
    end 

    def current_user 
    return @current_user if defined?(@current_user) 
    @current_user = current_user_session && current_user_session.user 
    end 

사용자 세션 모델을 사용하면 세션을 말할 때

답변

0

, 당신은 실제로 세션을 의미합니까 비어 있거나이 일부 restful_authentication의 마법?

이전에는 restful_authentication을 사용 했었지만 이전의 일부 앱은 여전히 ​​사용합니다. 그러나 사용자 세션 모델이 아닌 쿠키 기반 세션 관리를 사용했습니다.

0

레일 2.3.5를 사용하고 있습니까?

redirect_to를 사용하여이 문제가 발생했습니다. 기본적으로 리디렉션 전에 세션에 추가 된 모든 변수를 제거합니다. 2.3.4 되돌리기

내 문제를 해결하는의 보이지만, 버그이 당신을 위해 동일한 문제가되지 않을 수 있습니다

레일 인 2.3.x에서 세션에 약간의 불확실성에 관해서 등대에 존재하지만,이 내 문제를 해결하기 위해 몇 시간이 걸렸으므로 빠른 테스트를해볼 가치가 있습니다.

2

restful_authentication을 피할 수 있으면 사용하지 마십시오. 유지 실제로 편안하고 및 더 나은 거기에 더 나은 대안은 여러 가지가있을 수 있습니다

+0

고안은 실제로 꽤 굉장 소장라는 또 다른 보석에 내장되어 있습니다 그 자체로 –

관련 문제