Development

Changeset 10913 for plugins/sfGuardPlugin/branches/1.0

You must first sign up to be able to contribute.

Show
Ignore:
Timestamp:
08/17/08 11:41:58 (3 months ago)
Author:
fabien
Message:

[sfGuardPlugin] [1.1, 1.2] fixed redirects after login

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/sfGuardPlugin/branches/1.0/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php

    r8371 r10913  
    2323    if ($this->getRequest()->getMethod() == sfRequest::POST) 
    2424    { 
    25       $referer = $user->getAttribute('referer', $this->getRequest()->getReferer()); 
     25      // always redirect to a URL set in app.yml 
     26      // or to the referer 
     27      // or to the homepage 
     28      $referer = $user->getAttribute('referer', '@homepage'); 
    2629      $user->getAttributeHolder()->remove('referer'); 
     30      $signinUrl = sfConfig::get('app_sf_guard_plugin_success_signin_url', $referer); 
    2731 
    28       $signin_url = sfConfig::get('app_sf_guard_plugin_success_signin_url', $referer); 
    29  
    30       $this->redirect('' != $signin_url ? $signin_url : '@homepage'); 
     32      return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); 
    3133    } 
    3234    elseif ($user->isAuthenticated()) 
     
    4446      } 
    4547 
    46       if (!$user->hasAttribute('referer')) 
    47       { 
    48         $user->setAttribute('referer', $this->getRequest()->getUri()); 
    49       } 
     48      // if we have been forwarded, then the referer is the current URL 
     49      // if not, this is the referer of the current request 
     50      $user->setAttribute('referer', $this->getContext()->getActionStack()->getSize() > 1 ? $this->getRequest()->getUri() : $this->getRequest()->getReferer()); 
    5051 
    5152      if ($this->getModuleName() != ($module = sfConfig::get('sf_login_module'))) 
     
    6263    $this->getUser()->signOut(); 
    6364 
    64     $signout_url = sfConfig::get('app_sf_guard_plugin_success_signout_url', $this->getRequest()->getReferer()); 
     65    $signoutUrl = sfConfig::get('app_sf_guard_plugin_success_signout_url', $this->getRequest()->getReferer()); 
    6566 
    66     $this->redirect('' != $signout_url ? $signout_url : '@homepage'); 
     67    $this->redirect('' != $signoutUrl ? $signoutUrl : '@homepage'); 
    6768  } 
    6869 
  • plugins/sfGuardPlugin/branches/1.0/package.xml

    r10882 r10913  
    2929  <active>no</active> 
    3030 </developer> 
    31  <date>2008-08-14</date> 
     31 <date>2008-08-17</date> 
    3232 <version> 
    33    <release>1.1.16</release> 
     33   <release>1.1.17</release> 
    3434   <api>1.1.0</api> 
    3535 </version> 
     
    167167    <release> 
    168168      <version> 
     169        <release>1.1.17</release> 
     170        <api>1.1.0</api> 
     171      </version> 
     172      <stability> 
     173       <release>stable</release> 
     174       <api>stable</api> 
     175      </stability> 
     176      <license uri="http://www.symfony-project.com/license">MIT license</license> 
     177      <date>2008-08-17</date> 
     178      <license>MIT</license> 
     179      <notes> 
     180        * fabien: fixed redirects after login 
     181      </notes> 
     182    </release> 
     183    <release> 
     184      <version> 
    169185        <release>1.1.16</release> 
    170186        <api>1.1.0</api>