0
使用laravel重建我的系統5.4。 我做了一個可以工作的ajax登錄,但是我想將記住選項添加到auth。 文檔說這有關設置記住:設置在ajax上記住laravel登錄
if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
// The user is being remembered...
}
但因爲我的LoginController沒有任何可見的登錄功能,我對如何與我目前的LoginController覆蓋它掙扎。 在我的路線我只是調用LoginController @登錄。和我有被稱爲在登錄功能沒有覆蓋..
這是我的LoginController:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Lang;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/minside';
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
if ($request->ajax()) {
error_log($this->guard()->user(),'0');
return response()->json($this->guard()->user(), 200);
}
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
protected function sendFailedLoginResponse(Request $request)
{
if ($request->ajax()) {
return response()->json([
'error' => Lang::get('auth.failed')
], 401);
}
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => Lang::get('auth.failed'),
]);
}
}
謝謝,但我的登錄控制器會去哪裏?我不知道我在哪裏實際上在做這個驗證 – Havihavi
我添加了一個remember_me到我的表單,它做了我想要的,但我希望能更多地控制我的登錄控制器。 – Havihavi
LoginController使用具有tryLogin功能的特徵AuthenticatesUsers。如果你想有更多的控制權,你可以重寫函數,創建你自己的特質,或者創建你自己的控制器;) – reinierkors