Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证用户Laravel_Php_Authentication_Laravel_Laravel 4 - Fatal编程技术网

Php 验证用户Laravel

Php 验证用户Laravel,php,authentication,laravel,laravel-4,Php,Authentication,Laravel,Laravel 4,大家好,我有一个使用laravel的简单应用程序,我尝试将用户身份验证添加到我的应用程序中,这是我的route.php文件: Route::model('task', 'Task'); Route::get('/login', 'HomeController@ShowLogin'); Route::post('/login', 'HomeController@doLogin'); Route::get('/logout' , 'HomeController@doLogout'); Ro

大家好,我有一个使用laravel的简单应用程序,我尝试将用户身份验证添加到我的应用程序中,这是我的route.php文件:

Route::model('task', 'Task');


Route::get('/login', 'HomeController@ShowLogin');
Route::post('/login', 'HomeController@doLogin');

Route::get('/logout' , 'HomeController@doLogout');


Route::group(array('before'=>'auth'), function(){

Route::get('/', 'TasksController@home');
Route::get('/create', 'TasksController@create');
Route::get('/edit/{task}', 'TasksController@edit');
Route::post('/edit', 'TasksController@doEdit');
Route::post('/create' , 'TasksController@saveCreate');
Route::get('/delete/{task}' , 'TasksController@delete');
Route::post('/delete', 'TasksController@doDelete');

Route::get('/task/{id}' , 'TasksController@show')->where('id', '\d+');

});
@extends('layout')
@section('content')
<section class="header section-padding">
<div class="background">&nbsp;</div>
<div class="container">
    <div class="header-text">
        <h1>Learning Laravel: The Easiest Way</h1>
        <p>
            Showing a single task <br/> using route parameter!
        </p>
    </div>
</div>
</section>
<div class="container">
<section class="section-padding">
    <div class="jumbotron text-center">
        <h1>
            Login
        </h1>
        <P>
            {{ $errors->first('username')  }}
            {{ $errors->first('password') }}
        </P>

        {{ Form::open(['url' => '/login', 'class' => 'form']) }}
        <div class="form-group">
            {{ Form ::label('username', 'Username:') }}
            {{ Form::text('username')}}
        </div>
        <div class="form-group">
            {{ Form::label('password', 'Password:') }}
            {{ Form::password('password') }}
        </div>
        <div class="form-group">
            {{ Form::submit('Login', ['class' => 'btn btn-primary']) }}
        </div>
        {{ Form::close() }}
    </div>
</section>
</div>
@stop
这是我的HomeController.php

class HomeController extends BaseController {

public function showLogin()
{
    return View::make('login');
}
public function doLogin()
{
    $userdata = array(
        'username' => Input::get('username'),
        'password' => Input::get('password')
    );
    dd(Auth::attempt($userdata));

    if(Auth::attempt($userdata))
    {

        return Redirect::to('/');
    }
    else
    {
        return Redirect::to('login');
    }
}

public function doLogout()
{
    Auth::logout();
    return Redirect::to('login');
}

}
这是我的login.blade.php文件:

Route::model('task', 'Task');


Route::get('/login', 'HomeController@ShowLogin');
Route::post('/login', 'HomeController@doLogin');

Route::get('/logout' , 'HomeController@doLogout');


Route::group(array('before'=>'auth'), function(){

Route::get('/', 'TasksController@home');
Route::get('/create', 'TasksController@create');
Route::get('/edit/{task}', 'TasksController@edit');
Route::post('/edit', 'TasksController@doEdit');
Route::post('/create' , 'TasksController@saveCreate');
Route::get('/delete/{task}' , 'TasksController@delete');
Route::post('/delete', 'TasksController@doDelete');

Route::get('/task/{id}' , 'TasksController@show')->where('id', '\d+');

});
@extends('layout')
@section('content')
<section class="header section-padding">
<div class="background">&nbsp;</div>
<div class="container">
    <div class="header-text">
        <h1>Learning Laravel: The Easiest Way</h1>
        <p>
            Showing a single task <br/> using route parameter!
        </p>
    </div>
</div>
</section>
<div class="container">
<section class="section-padding">
    <div class="jumbotron text-center">
        <h1>
            Login
        </h1>
        <P>
            {{ $errors->first('username')  }}
            {{ $errors->first('password') }}
        </P>

        {{ Form::open(['url' => '/login', 'class' => 'form']) }}
        <div class="form-group">
            {{ Form ::label('username', 'Username:') }}
            {{ Form::text('username')}}
        </div>
        <div class="form-group">
            {{ Form::label('password', 'Password:') }}
            {{ Form::password('password') }}
        </div>
        <div class="form-group">
            {{ Form::submit('Login', ['class' => 'btn btn-primary']) }}
        </div>
        {{ Form::close() }}
    </div>
</section>
</div>
@stop
我手动创建我的用户表

Auth::trunt($userdata)
方法将在
$userdata
数组中散列
密码
,并用数据库值检查散列密码

所以你需要在数据库中输入哈希密码

为了证实这一点

请将数据库中的密码更改为
$2y$10$3S3yDwfkwwLghedu4AoaTe//61QTaNC0ycTdp8hLfHtQS4XrgBPQy
,并对表单中的密码字段使用
a


$2y$10$3S3yDwfkwwLghedu4AoaTe//61QTaNC0ycTdp8hLfHtQS4XrgBPQy
a

的laravel散列密码,你能通过你的用户模型代码吗?你如何保存用户?@KalhanoToressPamuditha我想我们需要保存用户,如果我们只想创建一个用户,但这里我想检查一个用户是否存在于db中,或者notok似乎你能得到doLogin()中的用户名和密码是否正确,您的密码字段是否在数据库中散列?否,我手动将用户添加到数据库中,并且不会对其进行散列