猿问

Laravel:在登录/身份验证之前添加自定义查询

我是新来的,刚刚开始使用laravel,


我想在用户点击“登录”按钮之前添加一个新查询。


例如:在用户键入其用户名和密码并单击“登录”按钮后,


如果用户名存在于其他表上,我想先进行查询。


if (exists) {

      // do laravel default auth.

} else {

     // add the username in the table

     // do laravel default auth.

}

希望有人能帮助我。


子衿沉夜
浏览 103回答 1
1回答

潇潇雨雨

如果是这种情况,那么您必须自定义laravel提供的默认登录方法。请参阅下面的代码<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use Illuminate\Support\Facades\Auth;class LoginController extends Controller{&nbsp; &nbsp; /**&nbsp; &nbsp; &nbsp;* Handle an authentication attempt.&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* @param&nbsp; \Illuminate\Http\Request $request&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* @return Response&nbsp; &nbsp; &nbsp;*/&nbsp; &nbsp; public function login(Request $request)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $credentials = $request->only('username', 'password');&nbsp; &nbsp; &nbsp; &nbsp; $username = Othertable::where('username', $request->username)->get();&nbsp; &nbsp; &nbsp; &nbsp; if($username->count() > 0 ) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (Auth::attempt($credentials)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Authentication passed...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return redirect()->intended('dashboard');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //add the username in the table&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //do laravel default auth.&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}在此处阅读文档&nbsp;身份验证
随时随地看视频慕课网APP
我要回答