php - Laravel 5 How to work with authentication on two different login forms with different tables -
i created 2 different login forms 2 different register forms , 2 different tables ,at moment can following
login table a(users) register table a(users) register table b(students) but can't logon on table b ,is getting confused on table logon .i modified auth built-in functionality
here code function login under
public function postloginl(request $request) { $this->validate($request, [ 'learnercell'=> 'required', 'password' => 'required', ]); $credentials = $this->getcredentialsl($request); if (auth::attempt($credentials, $request->has('remember'))) { return redirect()->intended($this->redirectpath()); } return redirect($this->loginpath()) ->withinput($request->only('learnercell', 'remember')) ->witherrors([ 'learnercell' => $this->getfailedloginmessage(), ]); } when check on config/auth.php there script
<?php return [ 'driver' => 'eloquent', 'model' => app\user::class, 'table' => 'users', 'password' => [ 'email' => 'emails.password', 'table' => 'password_resets', 'expire' => 60, ], ]; of think problem lies,because not have model control login references 1 model (user) , have 1 called (learner).
i assume you're using laravel 5.1 - let me know if it's not true , i'll try other version well.
easiest way store users in single table additional type flag. understand want have 2 different login processes , different credentials used login. once have users in same table way is:
class usercontroller { use authenticatesusers; //use email authentication public $username = 'email'; protected function getcredentials(request $request) { //allow users type=user return array_merge($request->only('email', 'password'), ['type' => 'user']); } } class learnercontroller { use authenticatesusers; //use phone authentication public $username = 'phone'; protected function getcredentials(request $request) { //allow users type=learner return array_merge($request->only('phone', 'password'), ['type' => 'learner']); } }
Comments
Post a Comment