Как запомнить URL и перенаправить на тот же URL после входа в систему, а не на страницу по умолчанию - PullRequest
1 голос
/ 28 сентября 2011

В настоящее время я работаю в cakephp и сталкиваюсь с проблемой при перенаправлении страницы.По умолчанию после входа в систему пользователь попадает на определенную страницу.Теперь я хочу немного его изменить, но не хочу нарушать функциональность по умолчанию.Если пользователь не вошел в систему, он перенаправляется на страницу входа с помощью следующей функции:

$this->Auth->loginAction = array(
            'controller' => 'users',
            'action'     => 'login'
        );

Я определил ссылку, которая перенаправляет на страницу входа, если пользователь не вошел в систему при нажатии

<div class="bid-button"><a href="/users/login" class="b-login-big"></a></div>

, иначе это делается при нажатии

<?php if($session->check('Auth.User')):?>
    <div class="bid-loading" style="display: none; height:59px;"><?php echo $html->image('ajax-arrows-white.gif');?></div>
    <div class="bid-button"><a class="bid-button-link button-big" title="<?php echo $auction['Auction']['id'];?>" href="/bid.php?id=<?php echo $auction['Auction']['id'];?>">Bid!</a></div>
<?php endif;?>

Теперь я хочу, чтобы пользователь вошел в систему нормально, после входа в систему он должен перейти на страницу по умолчанию, но если он щелкнет ссылкузатем пользователь должен быть перенаправлен на ту же страницу после входа в систему, а не на страницу по умолчанию. URL-адрес страницы, с которой пользователь перенаправляется на страницу входа в систему после нажатия на ссылку, можно получить следующим способом

<?php echo AppController::AuctionLinkFlat($auction['Auction']['id'], $auction['Product']['title']);?>

Как я смогу это сделать?Понятия не имею как и что делать.Пожалуйста, предложите мне какое-нибудь решение.

1 Ответ

1 голос
/ 28 сентября 2011

Добавить к beforeFilter в пользовательском контроллере:

function beforeFilter() {
$this->Auth->autoRedirect = false;
parent::beforeFilter();
}

Вы также можете заменить перенаправление на метод входа вашего пользовательского контроллера:

$this->redirect($this->Auth->redirect());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...