Имя функции должно быть строкой в ​​логине аутентификации laravel - PullRequest
0 голосов
/ 26 января 2019

Произошла ошибка при выполнении операций аутентификации на администраторе laravel.

FatalThrowableError (E_ERROR)

Имя функции должно быть строкой

Контроллер администратора:

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');}); 

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Хотя ответ может не относиться к этому конкретному вопросу, но, по крайней мере, сможет указать кому-то в правильном направлении. У меня была та же проблема, но позже я узнал, что перепутал RedirectIfAuthenticated.php, расположенный в «App \ Http \ Middleware \ RedirectIfAuthenticated.php». Проблема заключалась в том, что я прокомментировал функцию handle, которая показана ниже

 public function handle($request, Closure $next, $guard = null) {
    if (Auth::guard($guard)->check()) {
        return redirect('/home');
    }

    return $next($request);
  }

Это сработало как волшебство после того, как я удалил комментарии.

0 голосов
/ 26 января 2019

предназначен функция принимает только строку.Он не будет работать с маршрутом (//);

Заменить:

return redirect()->intended();

Кому:

return redirect()->intended(//url string here);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...