3

I want to use basic.auth for my web page but authentication donst work

routes.php

admin - authentication

Route::get('admin', array('before' => 'auth.basic', function()
{
    return 'Top secret';
}));

create - create test user

Route::get('create', function()
{
    $user = new User;
    $user->email = 'test@test.com';
    $user->username = 'test';
    $user->password = Hash::make('password');
    $user->save();
});

config

  • app/config/app - has defined key (that created Laravel installation)
  • app/config/auth - has defined model (User) and table (users)

filters.php

auth.basic

Route::filter('auth.basic', function()
{
    return Auth::basic();
});

test

I call /create to create User test@test.com:password

Here is users table after: enter image description here

Then I call /admin to login

enter image description here

But it doesnt let me in. After Login - it just clear inputs. After Cancel - it return Invalid credentials..


User model

I tried implement UserInterface

<?php
use Illuminate\Auth\UserInterface;

class User extends Eloquent implements UserInterface {

    protected $table = 'users';

    /**
     * Get the unique identifier for the user.
     *
     * @return mixed
     */
    public function getAuthIdentifier()
    {
        return $this->getKey();
    }

    /**
     * Get the password for the user.
     *
     * @return string
     */
    public function getAuthPassword()
    {
        return $this->passsword;
    }
}

Problem solved

I had typo in User model return $this->passsword; There is 3 s.

Now I use default Laravel User model.

4

1 に答える 1