Laravel 5.6 Auth /admin showing blank page with or without login

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP


Laravel 5.6 Auth /admin showing blank page with or without login



I am new to Laravel and its 5.6 version.
I setup a Auth login using few commands over there. All is good going. But when I uploaded to my own live server then when I run site.com/admin [that should be redirect to site.com/login for non login scene]. But I got a blank page. When I ran site.com.login then login page is working and I am in admin panel to work on.
My question is that why my site.com/admin page is blank. all other pages are working fine.



here is my files.



routes/web.php


Route::get('/', 'HomeController@index')->name('home');;
Route::get('view/{slug?}', 'HomeController@view');

Auth::routes();
Route::prefix('admin')->group(function () {
Route::get('/', 'AdminAdminController@admin_index')->name('admin_index');
Route::get('/dashboard', 'AdminAdminController@dashboard')->name('dashboard');

Route::get('locations', 'AdminLocationsController@locations')->name('locations');
Route::get('add-location', 'AdminLocationsController@add_location')->name('add-location');
Route::post('submit-location', 'AdminLocationsController@submit_location')->name('submit-location');

Route::get('posts', 'AdminPostsController@posts')->name('posts');
Route::get('add-post', 'AdminPostsController@add_post')->name('add-post');
Route::post('submit-post', 'AdminPostsController@submit_post')->name('submit-post');
});
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('cache:clear');
});
Route::get('/logout', 'AppHttpControllersAuthLoginController@logout')->name('logout');



app/Http/Kernel.php


namespace AppHttp;

use IlluminateFoundationHttpKernel as HttpKernel;

class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class,
IlluminateFoundationHttpMiddlewareValidatePostSize::class,
AppHttpMiddlewareTrimStrings::class,
IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,
];

/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
AppHttpMiddlewareEncryptCookies::class,
IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,
IlluminateSessionMiddlewareStartSession::class,
// IlluminateSessionMiddlewareAuthenticateSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,
AppHttpMiddlewareVerifyCsrfToken::class,
IlluminateRoutingMiddlewareSubstituteBindings::class,
],

'api' => [
'throttle:60,1',
'bindings',
],
];

/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => IlluminateAuthMiddlewareAuthenticate::class,
'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
'bindings' => IlluminateRoutingMiddlewareSubstituteBindings::class,
'can' => IlluminateAuthMiddlewareAuthorize::class,
'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
'is_admin' => AppHttpMiddlewareIsAdmin::class,
];
}



app/Http/isAdmin.php


namespace AppHttpMiddleware;

use Closure;

class IsAdmin
{
/**
* Handle an incoming request.
*
* @param IlluminateHttpRequest $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// return $next($request);
if(auth()->user()->isAdmin()) {
return $next($request);
}
return redirect('login');
//return $next($request);
}
}



AdminController.php


namespace AppHttpControllersAdmin;
use IlluminateHttpRequest;
use IlluminateSupportFacadesDB;
use AppHttpControllersController;
class AdminController extends Controller {

public function __construct(){

$this->middleware('auth');
}

public function admin_index() {

return view('admin.index');
}

public function dashboard() {

return view('admin.dashboard');
}

public function admin() {

return view('admin.index');
}
}



anything else I can share please let me know.





I don't see where you're using the is_admin middleware. Like, you've included it in protected $routeMiddleware, but then you aren't actually assigning it anywhere: "These middleware may be assigned to groups or used individually."
– Tim Lewis
1 hour ago




is_admin


protected $routeMiddleware




2 Answers
2



Change:


Route::prefix('admin')->group(function () {
Route::get('/', 'AdminAdminController@admin_index')->name('admin_index');
Route::get('/dashboard', 'AdminAdminController@dashboard')->name('dashboard');

Route::get('locations', 'AdminLocationsController@locations')->name('locations');
Route::get('add-location', 'AdminLocationsController@add_location')->name('add-location');
Route::post('submit-location', 'AdminLocationsController@submit_location')->name('submit-location');

Route::get('posts', 'AdminPostsController@posts')->name('posts');
Route::get('add-post', 'AdminPostsController@add_post')->name('add-post');
Route::post('submit-post', 'AdminPostsController@submit_post')->name('submit-post');
});



To:


Route::group([
'middleware' => ['auth', 'is_admin'],
'namespace' => 'Admin',
'prefix' => 'admin',
], function () {
Route::get('/', 'AdminController@admin_index')->name('admin_index');
Route::get('/dashboard', 'AdminController@dashboard')->name('dashboard');

Route::get('locations', 'LocationsController@locations')->name('locations');
Route::get('add-location', 'LocationsController@add_location')->name('add-location');
Route::post('submit-location', 'LocationsController@submit_location')->name('submit-location');

Route::get('posts', 'PostsController@posts')->name('posts');
Route::get('add-post', 'PostsController@add_post')->name('add-post');
Route::post('submit-post', 'PostsController@submit_post')->name('submit-post');
});



And:


if(auth()->user()->isAdmin()) {



To:


if(optional(auth()->user())->isAdmin()) {



Be sure you have isAdmin() function in your User model which return true or false


isAdmin()


true


false



you are not using isAdmin middleware .
you can be use middleware on route to check admin role ...






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

Arduino Mega cannot recieve any sketches, stk500_recv() programmer is not responding

Visual Studio Code: How to configure includePath for better IntelliSense results

C++ virtual function: Base class function is called instead of derived