![](/img/trans.png)
[英]Laravel Auth::attempt after writing credentials, redirects me to login
[英]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.