безопасное ключевое слово cakephp, например метод входа - PullRequest
0 голосов
/ 21 апреля 2011

Я хочу добиться чего-то вроде нижеприведенного сценария, упомянув в CakePHP 1.3.8 последнюю версию:

  • Запросить Username / Password или напрямую запросить Secret Keyword
  • Если вернозапросите Secret Keyword
  • Если правильно, введите больше details of website
  • Если не так, don't allow любой дальнейший доступ

Есть Auth компонентв CakePHP для аутентификации как username/password, однако я хочу реализовать этот дополнительный шаг Secret Keyword для доступа к информации, которая должна храниться в некотором файле, encrypted way или каким-либо другим лучшим способом, который вы предлагаете только для использования single computer.*

Любые идеи будут оценены.

Спасибо!

1 Ответ

1 голос
/ 21 апреля 2011

Я обычно выключаю autoRedirect, чтобы я мог делать дополнительные вещи в моем login методе.Обычно я не выполняю эту большую работу, но вы, вероятно, можете изменить свою ориентацию соответствующим образом после завершения / успешной аутентификации.Это не полный ответ и не следующий полный фрагмент кода для вашего требования, но его может быть достаточно для начала.

/** Logging in and authenticated */
if ( !empty( $this->data ) && $this->Auth->user() ) {
  $this->User->id = $this->Auth->user( 'id' );
  $this->set_user_type();
  $this->User->saveField( 'last_login', date( 'Y-m-d H:i:s' ) );

  if( $this->User->has_building( $this->Auth->User('id') ) ) {
    $this->redirect( array( 'controller' => 'buildings', 'action' => 'incentives' ) );
  }
  else {
    $this->redirect( $this->Auth->redirect() );
  }
}

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

Как я уже сказал, не полный ответ и очень простой взгляд на сложную проблему, но, надеюсь, это поможет вам начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...