繁体   English   中英

laravel:登录到仪表板时出现问题,因为即使我传递了正确的访问凭据,它也会将我重定向到登录页面

[英]laravel: getting problems on login to dashboard because it redirects me to login page even i pass correct access credentials

我刚刚部署了在laravel上开发的网站,并且都可以在localhost上运行,但是部署后我无法登录到仪表板。首先我有会话过期的问题,但是从内核中删除了\\ App \\ Http \\ Middleware \\ VerifyCsrfToken :: class之后。 PHP的问题已经解决,但现在它只将我重定向到登录页面。

我检查了每个代码,但没有发现任何代码错误。

//AdminController.php

class AdminController extends Controller
{
public function adminlogin(Request $request)
{
    if($request->isMethod('post')){
        $data = $request->input();
        if(Auth::attempt(['email'=>$data['email'], 
'password'=>$data['password'], 'admin'=>'1'])){
            return redirect()->route('admin.dashboard');
        } else {
            return redirect()->route('admin.login')- 
 >with('flash_message_error', 'Invalid Access Credentials');
        }
    }
    return view ('backend.admin_login');
 }


 public function dashboard(){
    return view ('backend.adminlayouts.admin_dashboard');
 }
 }

//路线

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');
Route::match(['get', 'post'], '/login', 'AdminController@adminlogin')- 
>name('admin.login');

Route::group(['middleware' => 'auth'], function(){
Route::get('/admin/dashboard', 'AdminController@dashboard')- 
>name('admin.dashboard');
});

// redirectIfAuthenticate

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

        return redirect()->action('AdminController@adminlogin')- 
 >with('flash_message_error', 'Please Login To Access');
    }

    return $next($request);
 }

//authenticate.php

protected function redirectTo($request)
{
    if (! $request->expectsJson()) {
        return route('admin.login');
    }
}

//kernel.php

    protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        //\App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
     ],

//admin_login.blade.php

<form class="form-signin"  action="{{route('admin.login')}}" method="post">
          @csrf

请帮助解决此错误,我想登录我的仪表板。

您绝对确定要输入admin.login路由吗? 我注意到您首先使用Auth::routes() ,它将与/login上的初始GET请求路由匹配。 参见: https : //github.com/laravel/framework/blob/5.7/src/Illuminate/Routing/Router.php#L1150

尝试取消注释默认的Auth::routes并手动传递必要的路由,例如注销,注册,密码/重置等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM