// Middleware to check if the user is an admin
public function handle($request, Closure $next)
{
// Verify the user is authenticated and an admin
if (auth()->check() && auth()->user()->isAdmin) {
return $next($request);
}
// Redirect non-admin users to the home page
return redirect()->route('home');
}Middleware to Restrict Access to Admins in Laravel
php
Related Posts
More content you might like
Tutorial
javascript
Advanced State Management in React Using Redux Toolkit
import React from 'react';
import { useSelector } from 'react-redux';
import { selectActiveUsers } from '../users/usersSlice';
const ActiveUsersList = () => {
const activeUsers = useSelector(selectActiveUsers);
return (
<ul>
{activeUsers.map((user) => (
<li key={user.id}>{user.name}</li>
))}
</ul>
);
};
export default ActiveUsersList;Middleware enhances Redux by intercepting actions and performing additional logic.
Dec 09, 2024
Read More Tutorial
php
Debugging Common Middleware Issues in Laravel
Use dependency injection for services your middleware requires:
namespace App\Http\Middleware;
use Closure;
use App\Services\UserService;
class CheckUserStatus
{
protected $userService;
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function handle($request, Closure $next)
{
if (!$this->userService->isActive($request->user())) {
return redirect('inactive');
}
return $next($request);
}
}Nov 16, 2024
Read More Tutorial
php
Laravel Best Practices for Sharing Data Between Views and Controllers
Open the middleware file and share data conditionally:
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\View;
class ShareUserPreferences
{
public function handle($request, Closure $next)
{
// Example: Share user-specific preferences
$userPreferences = [
'theme' => 'light',
'language' => 'en',
];
View::share('userPreferences', $userPreferences);
return $next($request);
}
}Nov 16, 2024
Read More Article
javascript
20 Useful Node.js tips to improve your Node.js development skills:
No preview available for this content.
Oct 24, 2024
Read MoreDiscussion 0
Please sign in to join the discussion.
No comments yet. Be the first to share your thoughts!