2017-04-19 45 views
0

我试图访问一个名为doctorloginform的视图,但是每次我尝试访问它时,我总是被重定向到所有,然后将我重定向到正常的用户登录页面(因为页面'all'需要你登录)。任何帮助表示赞赏Laravel试图访问页面时将我重定向到家

Web.php

Route::get('doctorloginform', '[email protected]')->name('doctorlogin'); 

Route::post('doctorloginsubmit', '[email protected]')->name('doctorloginsubmit'); 

DoctorLoginController

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use Auth; 

class DoctorLoginController extends Controller 
{ 
    public function __construct() 
    { 
$this->middleware('guest:doctor'); 
    } 

    public function showLoginForm() 
    { 
     return view('login/doctorloginform'); 
    } 

    public function login(Request $request) 
    { 
     $this->validate($request, [ 
      'email' => 'required', 
      'password' => 'required', 
      ]); 

if (Auth::guard('doctor')->attempt(['email' => $request->email, 'password' => $request->password])){ 

    return redirect()->intended(route('appointment/appointmentdetails')); 
} 
     else 
     { 
    return redirect()->back()->withInput($request->only('email')); 

    } 
} 
} 

doctorloginform

@if (session('loginError')) 
    <div> 
     {{ session('loginError') }} 

    </div> 
@endif 
<form action="{{url('doctorloginsubmit')}}" method="POST"> 
{{ csrf_field() }} 
<h1>DOCTOR</h1> 
<div> 
<label for="title">DOCTOR:</label> 
<input type="email" name="email" value="{{old('email')}}" id="email"> 
</div> 
<div id="passwordBox"> 
<label for="password">Password:</label> 
<input type="password" name="password" id="password"> 
</div> 
<div> 
<input type="submit" name="submitBtn" value="Login"> 
</div> 


</form> 

Redirectifauthenticated

<?php 

namespace App\Http\Middleware; 

use Closure; 
use Illuminate\Support\Facades\Auth; 

class RedirectIfAuthenticated 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @param string|null $guard 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::guard($guard)->check()) { 
      return redirect('/all'); 
     } 

     return $next($request); 
    } 
} 
+0

你能显示完整的web.php文件吗? – Merlevede

回答

2

在您的构造函数中添加except(),因此您不需要该方法的医生看护。

public function __construct() 
{ 
    $this->middleware('guest:doctor')->except('showLoginForm'); 
}