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

Clash Royale CLAN TAG#URR8PPPLaravel 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.
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.
I don't see where you're using the
is_adminmiddleware. Like, you've included it inprotected $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