Skip to main content
The Admin Dashboard is the central hub for managing your LaraCMS site. Access requires the access.admin.panel permission.

Accessing the Admin Panel

The admin panel is available at /admin and requires:
  • Authenticated user account
  • Verified email address
  • access.admin.panel permission
// Route definition (routes/web.php:71-111)
Route::prefix('admin')
    ->name('admin.')
    ->middleware('auth', 'verified', 'permission:access.admin.panel')
    ->group(function () {
        // Admin routes
    });

Dashboard Overview

The dashboard provides quick access to all administrative functions:

Blog Management

Create and manage blog posts, categories, and tags

Gallery Management

Organize photos and albums for your gallery

User Management

Manage users, roles, and permissions

URL Tools

URL shortener and redirect management

Key Features

Content Management

  • Blog Posts: Create, edit, and delete blog content
  • Gallery: Upload and organize photos into albums
  • Pages: Manage static pages (coming soon)

User Administration

  • User Management: Create, edit, ban, and delete users
  • Role Management: Define roles with custom permissions
  • Permission Control: Fine-grained access control using Spatie Permissions

URL Tools

  • URL Shortener: Create short links for marketing campaigns
  • URL Redirects: Manage redirects for SEO and migration
The admin panel uses a consistent navigation pattern:
/admin                          → Dashboard home
/admin/blog/posts               → Blog post list
/admin/blog/create              → Create new post
/admin/gallery/albums           → Album management
/admin/gallery/photos           → Photo management
/admin/users                    → User list
/admin/roles                    → Role management
/admin/url-shortener            → URL shortener tool
/admin/url-redirect             → URL redirect tool

Dashboard Controller

The dashboard is rendered by the DashboardController:
// app/Http/Controllers/Admin/DashboardController.php:8-14
class DashboardController extends Controller
{
    public function dashboard()
    {
        return view('admin.dashboard');
    }
}

Multi-Tenant Considerations

As a SaaS platform, LaraCMS uses permission-based access control:
The access.admin.panel permission is required for all admin routes. Users without this permission will receive a 403 Forbidden error.

Role-Based Access

  • Super Admin: Full system access (cannot be removed)
  • Admin: Standard admin access
  • Editor: Content management only
  • User: No admin panel access

Quick Actions

Common administrative tasks:
1

Create Blog Post

Navigate to Blog → Create New Post
2

Upload Photos

Go to Gallery → Photos → Upload
3

Manage Users

Access Users → View all users with search and sort
4

Configure Roles

Visit Roles → Create/Edit roles and assign permissions

Security Features

Middleware Protection

All admin routes are protected by three middleware layers:
  1. auth - Requires authentication
  2. verified - Requires verified email
  3. permission:access.admin.panel - Requires admin permission

Session Management

Admin sessions follow Laravel’s standard session handling with additional security:
  • Automatic timeout after inactivity
  • Session regeneration on privilege changes
  • CSRF protection on all forms

Next Steps

Blog Management

Learn how to create and manage blog content

User Management

Understand user administration and permissions

Build docs developers (and LLMs) love