|
From: Chris W. <la...@us...> - 2005-10-20 01:20:54
|
Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Auth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21827 Modified Files: User.pm Log Message: OIN-182: if cache_user is set to 0 we weren't correctly storing the user_id Index: User.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Auth/User.pm,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** User.pm 17 Mar 2005 14:57:59 -0000 1.22 --- User.pm 20 Oct 2005 01:20:46 -0000 1.23 *************** *** 11,14 **** --- 11,15 ---- my ( $log ); + my $USER_ID_KEY = 'user_id'; sub get_user { *************** *** 80,84 **** my $session = CTX->request->session; if ( $session ) { ! delete $session->{user_id}; } $user = $class->_create_nologin_user; --- 81,85 ---- my $session = CTX->request->session; if ( $session ) { ! delete $session->{ $USER_ID_KEY }; } $user = $class->_create_nologin_user; *************** *** 120,123 **** --- 121,127 ---- } } + else { + $user_id = $session->{ $USER_ID_KEY }; + } return ( $user, $user_id ); } *************** *** 126,140 **** sub _set_cached_user { my ( $class, $user ) = @_; - my $user_refresh = CTX->lookup_session_config->{cache_user}; - return unless ( $user_refresh > 0 ); - $log ||= get_logger( LOG_AUTH ); - my $session = CTX->request->session; ! $session->{_oi_cache}{user} = $user; ! $session->{_oi_cache}{user_refresh_on} = time + ( $user_refresh * 60 ); ! $log->is_info && ! $log->info( "Set user to session cache, expires in ", ! "'$user_refresh' minutes" ); } --- 130,149 ---- sub _set_cached_user { my ( $class, $user ) = @_; $log ||= get_logger( LOG_AUTH ); my $session = CTX->request->session; ! my $user_refresh = CTX->lookup_session_config->{cache_user}; ! if ( $user_refresh > 0 ) { ! $session->{_oi_cache}{user} = $user; ! $session->{_oi_cache}{user_refresh_on} = time + ( $user_refresh * 60 ); ! $log->is_info && ! $log->info( "Set user to session cache, expires in ", ! "'$user_refresh' minutes" ); ! } ! else { ! my $user_id = $user->id; ! $session->{ $USER_ID_KEY } = $user_id; ! $log->is_info && ! $log->info( "Assigned user ID $user_id to session" ); ! } } *************** *** 144,148 **** my ( $class ) = @_; my $session = CTX->request->session; ! return ( $session ) ? $session->{user_id} : undef; } --- 153,157 ---- my ( $class ) = @_; my $session = CTX->request->session; ! return ( $session ) ? $session->{ $USER_ID_KEY } : undef; } *************** *** 164,168 **** $log ||= get_logger( LOG_AUTH ); $log->error( "Failed to fetch user '$user_id': $error" ); ! CTX->request->session->{user_id} = undef; $log->error( "Since user fetch failed, setting 'user_id' in ", "session to undef to prevent this from recurring" ); --- 173,177 ---- $log ||= get_logger( LOG_AUTH ); $log->error( "Failed to fetch user '$user_id': $error" ); ! CTX->request->session->{ $USER_ID_KEY } = undef; $log->error( "Since user fetch failed, setting 'user_id' in ", "session to undef to prevent this from recurring" ); *************** *** 200,204 **** ->fetch_by_login_name( $login_name, { skip_security => 1 } ) ! }; if ( $@ ) { $log->error( "Error fetching user by login name: $@" ); --- 209,213 ---- ->fetch_by_login_name( $login_name, { skip_security => 1 } ) ! }; if ( $@ ) { $log->error( "Error fetching user by login name: $@" ); *************** *** 215,219 **** my $password = $request->param( $password_field ); - unless ( $user->check_password( $password ) ) { $log->warn( "Password check for [$login_name] failed" ); --- 224,227 ---- |