2013-07-02 4 views
0

У меня два вопроса с Kohana Auth модулем:Kohana 3.3: Auth модуль - Возможность входа в систему с подвесным паролем

  1. Возможности войти с подвесным паролем
  2. Я выйдите из приложения, но когда нажмите кнопку «Назад» в браузере, отобразите содержимое защищенной стороны. Затем я обновляю эту страницу, она перенаправляется на страницу входа в систему - для чего это перенаправление мне нужно, когда пользователь нажимает кнопку «Назад» в браузере.

То, что я сделал до сих пор:

  1. Я создать обходной путь, чтобы вручную проверить пароль равенства вместо использования встроенного метода входа в систему, и если успех, используйте предустановленный метод Kohana Auth.
  2. Я проверил значение Session с помощью Firebug, он менялся при выходе из системы. Предположим, что если нажатие на кнопку «Назад» не отображает защищенную сторону, так как у меня есть реализация ACL на страницах.

Hopes кто может помочь мне в этом ... действительно критический запрос ..

Некоторые из моей ссылки:

  1. Cannot login with Kohana 3.3.0 ORM Auth
  2. http://forum.kohanaframework.org/discussion/comment/78699#Comment_78699
  3. http://forum.kohanaframework.org/discussion/11756/kohana-auth-module-3-3/p1

Reg ОРДС, Nas

ответ

0

Может быть, это поможет: Регистрация действие:

$extra_rules = Validation::factory($this->request->post()) 
         ->rule('password', 'not_empty') 
         ->rule('password', 'min_length', array(':value', '8')) 
         ->rule('password_confirm', 'matches', array(':validation', 'password_confirm', 'password')) 

       $user->create($extra_rules); 
//if You want to enable login add a role, or You can put it later on account confirmation or something 
       if ($user->saved()) { 
        $user->add('roles', 1); 
       } 

Войти Действие:

$logged = Auth::instance()->login($this->request->post('username'), $this->request->post('password'), $_POST['autologin'] = true); 

     if ($logged == true) { 
      $user = Auth::instance()->get_user(); 
      $userId = $user->id; 

      HTTP::redirect('somewhere'); 
     } else { 
      $validation = Validation::factory($this->request->post()) 
        ->rule('username', 'not_empty') 
        ->rule('password', 'not_empty'); 
      if ($validation->check()) { 
       $validation->error('username', 'general'); 
      } 
+0

, где я должен добавить первую часть? Я считаю, что вторая часть находится в контроллере, который проверяет учетные данные для входа. – nasrulhazim

+0

только что прошли некоторые исследования по 1-й части. эта часть кажется для формы с подтверждением ввода пароля и пароля. То, что мне нужно, - это сравнение между паролем, данным в базе данных on.

Similar to ORM::factory('User')->where('username','=',$username)->where('password','=',$hashedpassword)->find();
nasrulhazim

+0

Просто прочитайте пример, приведенный в [link] (http://kohanaframework.org/3.3/guide/kohana/security/validation), кажется, что проверка основана на входных данных. Могу ли я добавить подтверждение для совпадений соответствовать значению в базе данных, а не иметь два входа (например, пароль и пароль)? – nasrulhazim