【发布时间】:2016-09-12 23:52:33
【问题描述】:
我试图写一个登录系统,但 Auth::attempt 总是返回 false 给我,我的代码:
路线:
Route::get('/login', function () {
return view('login');
});
Route::post('/loginProcess', 'LoginController@login');
登录控制器:
namespace App\Http\Controllers;
use Request;
use Auth;
use App\Http\Requests;
use Hash;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Redirect;
class LoginController extends Controller
{
public function login(){
$uname = Request::get('username');
$password = Request::get('password');
if (Auth::attempt(array('username' => $uname, 'password' => $password))){
return "success";
}
else {
return "Wrong Credentials";
}
}
}
?>
用户模型:
<?php
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
use Authenticatable, CanResetPassword;
protected $table = 'user';
public $timestamps = false;
protected $fillable = ['username', 'password'];
}
?>
登录视图:
@extends('main')
@section('content')
{!! Form::open(['url' => '/loginProcess']) !!}
<div class="form-group">
{!! Form::label('username', 'Username:') !!}
{!! Form::text('username', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('password', 'Password:') !!}
{!! Form::password('password', null, ['class' => 'form-control']) !!}
</div>
@if ($errors->any())
@foreach($errors->all() as $error)
<div class="alert alert-danger">
<p>{{ $error }}</p>
</div>
@endforeach
@endif
<div class="form-group">
{!! Form::submit('Login', ['class' => 'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
@stop
我在cloud9 IDE上开发这个,搜索了很多帖子,还是找不到问题,是密码散列的问题还是什么的?顺便说一句,我检查了可以接收表单输入。
【问题讨论】:
-
请同时显示您的表格架构
-
我的架构:i.stack.imgur.com/9BAsm.jpg uid 是主键
-
您在注册时使用了什么密码散列技术?