我正在开发一个 laravel 5 项目,并且在 html 中使用 Auth 时遇到了一些问题。
首先我会展示我的代码
路由.php
// Router for login
Route::get('/login', ['as' => 'login_path', 'uses' => 'LoginController@getLogin']);
Route::post('/login', ['as' => 'post_login_path', 'uses' => 'LoginController@postLogin']);
// Router for dashboard
Route::get('dashboard', 'DashboardController@index');
当您转到 mysite/login 时,当您填写输入并将其发布时,会出现一个登录表单,它将转到 LoginController@postLogin
登录控制器
public function getLogin()
{
return view("login.login");
}
public function postLogin(Request $request)
{
$gebruikersnaam = $request->gebruikersnaam;
$wachtwoord = $request->wachtwoord;
if (Auth::attempt(['gebruikersnaam' => $gebruikersnaam, 'password' => $wachtwoord]))
{
//return JsonHandler::createJsonResponse("Successvol ingelogd redirect...", "/dashboard", "success");
return redirect('/dashboard');
//return redirect('home');
}
else {
return "fail";
}
//dd(Request::input());
//return $wachtwoord;
}
用户模型
<?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;
// For custom password field in user table
public function getAuthPassword()
{
return $this->wachtwoord;
}
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'gebruikersnaam',
'wachtwoord'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
//protected $hidden = ['gebruikersnaam', 'wachtwoord'];
}
当身份验证尝试为真时,它将转到仪表板。但我不能在视图中使用 auth fascade。
仪表板视图
<p>Welcome {{Auth::user()->gebruikersnaam}}</p>
我会收到以下错误:
试图获取非对象的属性(视图C:\xampp\htdocs\laravel5\resources\views\dashboard\master\dashboard-master.blade.php
:)
我怎么能在我看来使用身份验证?这是记录的正确方法吗