1
我想使用哈希類來哈希我的密碼。
因爲我想透過我的政策來設定密碼。
我控制器這樣的:如何使用Laravel 5.1中的哈希類登錄
public function postLogin(Request $request)
{
$rules = array(
'username' => 'required',
'password' => 'required|min:8'
);
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)
->withInput();
} else {
$user=User::where('username',$request['username'])->where('group_id',1)->get()->toArray();
$password=new PasswordController;
$request['password'] = $password->create_password_str($request['username'],$request['password']);
if(isset($user[0]['password'])&&Hash::check($request['password'], $user[0]['password'])){
return redirect('/dashboard');
} else {
return view('auth.login')->with('flag',5);
}
}
}
我用的用戶名登錄後這樣
{{Auth::user()->username}}
告訴我錯誤
試圖讓非對象的屬性
我在重定向之前添加此代碼但不工作。
Auth::login($request['username']);
我知道這一點。但嘗試類使用bcrypt,你不加入自己的鹽。我想添加我的哈希。 – paranoid
@paranoid背後的任何原因,而laravel bcrypt散列已經安全.. –
不,不安全。因爲你不能在這裏添加你的鹽。例如,如果黑客訪問您的數據庫,他可以創建bcrypt自己的密碼並替換管理員密碼 – paranoid