在laravel admin上执行身份验证操作时出现问题。
FatalThrowableError(E_ERROR)
函数名称必须是字符串
Admin Controlller:
class AdminController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
}
public function index(){
return view('comparadm.dashboard');
}}
AdminLogin Controlller:
class AdminLoginController extends Controller
{
public function __construct()
{
$this->middleware('guest:admin');
}
public function showLoginForm()
{
return view('auth.admin-login');
}
public function login(Request $request){
$this->validate($request,[
'email'=>'required|email',
'password'=>'required|min:6'
]);
if(Auth::guard('admin')->attempt(['email'=>$request->email,'password'=>$request->password],$request->remember))
{
return redirect()->intended(route('admin.dashboard'));
}
return redirect()->back()->withInput($request->only('email','remember'));
}}
路线:
Auth::routes();
Route::prefix('admin')->group(function() {
Route::get('/login', 'Auth\AdminLoginController@showLoginForm')->name('admin.login');
Route::post('/login', 'Auth\AdminLoginController@login')->name('admin.login.submit');
Route::get('/', 'AdminController@index')->name('admin.dashboard');});
答案 0 :(得分:0)
预期功能仅接受字符串。不适用于route(//);
替换:
return redirect()->intended();
收件人:
return redirect()->intended(//url string here);
答案 1 :(得分:0)
答案可能与该特定问题无关,但至少可以将某人指向正确的方向。我遇到了同样的问题,但后来发现我搞砸了位于“ App \ Http \ Middleware \ RedirectIfAuthenticated.php”中的RedirectIfAuthenticated.php。问题是我评论了如下所示的handle函数
public function handle($request, Closure $next, $guard = null) {
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
删除评论后,效果就像魔术一样。