Clicky

Skocz do zawartości


Zdjęcie
- - - - -

[początkujący] problem z logowaniem

4 odpowiedzi w tym temacie
logowanie

  • Zaloguj się, aby dodać odpowiedź

#1 skl

skl

    Początkujący

  • Użytkownik
  • Pip
  • 3 postów

Napisano 10 listopad 2013 - 10:57

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Account_Auth extends Application_Controller {      
    public function before()
    {
        parent::before();
        $this->template->content = new View('account/auth/menu');
    }
     public function action_signin()
    {
        $this->template->content->type = 'signin';
        $this->template->content = new View('account/auth/signin');
    }

    public function action_do_signin()
    {
        $post = $this->request->post();
        if(isset($post['email']) && isset($post['password']))
        {

            if(Auth::instance()->login($post['email'], $post['password']))
            {
                Messages::add('Zostałeś zalogowany', 'success');
                
                $this->redirect('account/auth/logged');
            }
            Messages::add('nie!');
        }        
        Messages::add('Podane dane są niepoprawne');
        $this->redirect('account/auth/signin');
        }
    

    public function action_signout()
    {
        if (Auth::instance()->logged_in())
        {
            Auth::instance()->logout();
            Messages::add('Wylogowanie zakończone pomyślnie', 'success');
        }
         if (!Auth::instance()->logged_in())
        {            
            Messages::add('Wyladwad', 'success');
        }
         
        $this->redirect('account/auth/logged');
    }
   public function action_register()
	{
         $this->template->content = new View('account/Auth/register');
         $this->template->content->post = $post;
         $this->template->content->errors = $errors;
         
	}
     public function action_do_register()
    {
        if (Request::current()->method() === "POST")
        {
            $new_user = new Model_User();
            $new_user->prep_my_validation($this->request->post(), 'register');

            if (!$new_user->get_my_validation()->check())
            {
                Messages::add('Podane dane są niepoprawne');

                Session::instance()->set('errors', $new_user->get_my_validation()->errors('user'));
                Session::instance()->set('post', $this->request->post());
                $this->redirect('account/auth/register');

            }

            $new_user->username = $this->request->post('email');
            $new_user->email = $this->request->post('email');
            $new_user->name = $this->request->post('name');
            $new_user->password = $this->request->post('password');
            
            if (!$new_user->save())
            {
                Messages::add('Podane dane są niepoprawne');
                $this->redirect('account/Auth/register');
            }
            else
            {
                Messages::add('Zostałeś zarejestrowany', 'success');
                $new_user->add('roles', ORM::factory('role', array('name' => 'login')));
               
                
                $this->redirect('account/auth/logged');
            }
        }

        Messages::add('Podane dane są niepoprawne');
        $this->redirect('account/Auth/register');
    }
    public function action_logged()
	    {  
            $this->template->content =  new View('account/auth/logged');       
        }
   
} 

Witam,
Głupio tak pisać pierwszego posta na forum i już z zapytaniem, ale niedawno znalazłem te forum i może ktoś tutaj pomoże rozwiązać mój problem.
Mam problem z logowaniem. Przy rejestracji dodaje rolę użytkownikowi (login). Konto użytkownika jest dodawane do bazy z rolą login, więc wszystko powinno się zgadzać. Jednakże nie potrafię się zalogować. Pobiera mi dane z widoku, ale nie chce tych danych użyć do logowania (jak w kodzie powyżej: - wyświetla komunikat "nie!", a następnie "Podane dane są nieprawidłowe"). Trochę już szukałem na ten temat, i wszędzie jest napisane, że jak ktoś ma taki problem, to nie dodał roli, niestety ja rolę dodałem i dalej mam taki problem.
Bardzo proszę o pomoc.  



#2 Villentre

Villentre

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 191 postów
  • Skąd:127.0.0.1

Napisano 10 listopad 2013 - 11:45

Bry.

 

Z tego co kojarzę (a dawno nie używałem Auth), to swego czasu były problemy z długością pola password w bazie (a potem oficjalnie tylko wersja File była rozwijana) i część zapisywanego hasha była ucinana.


"Zielony... Zielony nowicjusz pomaga nowicjuszowi..."

#3 skl

skl

    Początkujący

  • Użytkownik
  • Pip
  • 3 postów

Napisano 10 listopad 2013 - 11:48

Dziękuję, za odpowiedź. Niestety nawet jeśli dam hasło"12345" to nic to nie daje.



#4 mck

mck

    Jestę Blogerę

  • Admin
  • 1544 postów

Napisano 10 listopad 2013 - 12:30

^^ Tu nie chodzi o długość samego hasła, a jego hash, który ma więcej znaków niż pole w bazie.



#5 skl

skl

    Początkujący

  • Użytkownik
  • Pip
  • 3 postów

Napisano 10 listopad 2013 - 12:45

Dzięki wielkie, takie coś tyle czasu mi zabrało. Ale się udało. Wniosek: 50 znaków dla hasha jest niewystarczające.






Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych