글쎄, 그게 문제. 코드는 간단하다 : Kohana 3.2 ORM Auth 모듈에 로그인 할 수 없습니까?
public function action_index()
{
$post = $this->request->post();
if ($post) {
// if I type it like this, manually - it will work
$success = Auth::instance()->login('admin','password');
}
if (isset($success) and $success) { echo "Пользователь залогинен"; }
}
불행하게도이 테이블에 있던 기본 설정으로 나는 새 사용자를 작성하는 경우, 관리자 인 데이터베이스에서 단지 첫 번째 레코드를 로그인합니다.
$auth = Auth::instance();
$user = new Model_User();
$user->username = "Victor";
$user->$auth->hash_password('psw123');
$user->email = "[email protected]";
$user->save();
내가 말했듯이
$post["email"] or $post["username"] with $post["password"]
코드로 만 실제 데이터, 사용보다는 :이처럼 내 안에
if ($post) {
// the values from posts: 'Victor' or '[email protected]` & 'psw123'
$success = Auth::instance()->login('[email protected]','psw123');
}
를 기록하지 않습니다.
upd 관리자로 로그인 할 수 없지만 역할을 login
(데이터베이스에서 1)으로 변경하면 완벽하게 작동합니다. 그러나 역할이 2
(admin
역할 임)으로 설정되면 나를 수용하지 않으며 심지어 Auth
의 인스턴스를 만들지 않습니다. 역할이 될 것입니다 경우
$post = $this->request->post();
$success = Auth::instance()->login($post['email'], $post['pass']);
if ($success)
{
echo "SUCCESS!";
}
다시 한 번,이 것 성공 나를 대신 login
역할을하지 않습니다 (그것은 관리자를 의미합니다).
이 문제의 원인은 무엇일까요?
예, 역할에 대해서도 잊어 버렸습니다. 그래서 괜찮아요! 어쨌든 고마워! –
안녕하세요. 다시 도움이 필요합니다. 시계 ** upd **. –
저는 _login_ 및 _admin_ 역할을 독점적으로 사용하고 있다는 것을 알고 있습니다. 로그인 권한이있는 모든 사용자에게는 _login_ 역할이 필요합니다. 따라서 관리자 사용자는 _login_ 및 _admin_ 역할을 모두 가져야합니다. – jkondratowicz