170 lines
5.6 KiB
PHP
170 lines
5.6 KiB
PHP
<?php
|
|
// Test: Admin-Zugriffe testen
|
|
echo "👑 Test: Admin-Zugriffe testen\n";
|
|
echo "=============================\n\n";
|
|
|
|
// 1. Routes prüfen
|
|
echo "1. 🛣️ Admin-Routes prüfen:\n";
|
|
$routesPath = 'routes/web.php';
|
|
if (file_exists($routesPath)) {
|
|
$content = file_get_contents($routesPath);
|
|
|
|
$adminRoutes = [
|
|
'admin/dashboard' => 'Dashboard',
|
|
'admin/users' => 'Users Index',
|
|
'admin/users/create' => 'Users Create',
|
|
'admin/users/{user}/edit' => 'Users Edit',
|
|
'admin/statistics' => 'Statistics',
|
|
'nail-polishes' => 'Nail Polishes'
|
|
];
|
|
|
|
foreach ($adminRoutes as $route => $description) {
|
|
if (strpos($content, $route) !== false) {
|
|
echo " ✅ Route gefunden: $route ($description)\n";
|
|
} else {
|
|
echo " ❌ Route fehlt: $route ($description)\n";
|
|
}
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ Routes-Datei nicht gefunden\n";
|
|
}
|
|
|
|
// 2. AdminController prüfen
|
|
echo "\n2. 🎛️ AdminController prüfen:\n";
|
|
$controllerPath = 'app/Http/Controllers/AdminController.php';
|
|
if (file_exists($controllerPath)) {
|
|
$content = file_get_contents($controllerPath);
|
|
|
|
$methods = [
|
|
'dashboard' => 'Dashboard',
|
|
'users' => 'Users Index',
|
|
'createUser' => 'Create User',
|
|
'storeUser' => 'Store User',
|
|
'editUser' => 'Edit User',
|
|
'updateUser' => 'Update User',
|
|
'destroyUser' => 'Destroy User',
|
|
'statistics' => 'Statistics'
|
|
];
|
|
|
|
foreach ($methods as $method => $description) {
|
|
if (strpos($content, "public function $method") !== false) {
|
|
echo " ✅ Methode gefunden: $method ($description)\n";
|
|
} else {
|
|
echo " ❌ Methode fehlt: $method ($description)\n";
|
|
}
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ AdminController nicht gefunden\n";
|
|
}
|
|
|
|
// 3. AdminMiddleware prüfen
|
|
echo "\n3. 🛡️ AdminMiddleware prüfen:\n";
|
|
$middlewarePath = 'app/Http/Middleware/AdminMiddleware.php';
|
|
if (file_exists($middlewarePath)) {
|
|
$content = file_get_contents($middlewarePath);
|
|
|
|
if (strpos($content, 'auth()->user()->isAdmin()') !== false) {
|
|
echo " ✅ AdminMiddleware verwendet isAdmin() Methode\n";
|
|
} else {
|
|
echo " ❌ AdminMiddleware verwendet nicht isAdmin() Methode\n";
|
|
}
|
|
|
|
if (strpos($content, 'abort(403') !== false) {
|
|
echo " ✅ AdminMiddleware gibt 403 bei fehlenden Rechten\n";
|
|
} else {
|
|
echo " ❌ AdminMiddleware gibt keinen 403 Fehler\n";
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ AdminMiddleware nicht gefunden\n";
|
|
}
|
|
|
|
// 4. Layout prüfen
|
|
echo "\n4. 🎨 Layout prüfen:\n";
|
|
$layoutPath = 'resources/views/layouts/app.blade.php';
|
|
if (file_exists($layoutPath)) {
|
|
$content = file_get_contents($layoutPath);
|
|
|
|
if (strpos($content, 'auth()->user()->isAdmin()') !== false) {
|
|
echo " ✅ Layout verwendet isAdmin() für Admin-Menü\n";
|
|
} else {
|
|
echo " ❌ Layout verwendet nicht isAdmin() für Admin-Menü\n";
|
|
}
|
|
|
|
if (strpos($content, 'Admin-Badge') !== false || strpos($content, 'badge bg-primary') !== false) {
|
|
echo " ✅ Layout hat Admin-Badge\n";
|
|
} else {
|
|
echo " ❌ Layout hat keinen Admin-Badge\n";
|
|
}
|
|
|
|
// Prüfe Admin-Menü Links
|
|
$adminLinks = [
|
|
'admin.dashboard' => 'Dashboard Link',
|
|
'admin.users.index' => 'Users Link',
|
|
'nail-polishes.index' => 'Nail Polishes Link',
|
|
'admin.statistics' => 'Statistics Link'
|
|
];
|
|
|
|
foreach ($adminLinks as $route => $description) {
|
|
if (strpos($content, "route(\"$route\")") !== false) {
|
|
echo " ✅ Admin-Link gefunden: $route ($description)\n";
|
|
} else {
|
|
echo " ❌ Admin-Link fehlt: $route ($description)\n";
|
|
}
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ Layout-Datei nicht gefunden\n";
|
|
}
|
|
|
|
// 5. Admin-Views prüfen
|
|
echo "\n5. 👁️ Admin-Views prüfen:\n";
|
|
$adminViews = [
|
|
'resources/views/admin/dashboard.blade.php' => 'Admin Dashboard',
|
|
'resources/views/admin/users/index.blade.php' => 'Users Index',
|
|
'resources/views/admin/users/create.blade.php' => 'Users Create',
|
|
'resources/views/admin/users/edit.blade.php' => 'Users Edit',
|
|
'resources/views/nail-polishes/index.blade.php' => 'Nail Polishes Index',
|
|
'resources/views/nail-polishes/show-users.blade.php' => 'Show Users'
|
|
];
|
|
|
|
foreach ($adminViews as $viewPath => $description) {
|
|
if (file_exists($viewPath)) {
|
|
echo " ✅ View gefunden: $description\n";
|
|
} else {
|
|
echo " ❌ View fehlt: $description\n";
|
|
}
|
|
}
|
|
|
|
// 6. Cache-Status prüfen
|
|
echo "\n6. 🧹 Cache-Status prüfen:\n";
|
|
$cacheFiles = [
|
|
'bootstrap/cache/packages.php' => 'Packages Cache',
|
|
'bootstrap/cache/services.php' => 'Services Cache',
|
|
'bootstrap/cache/routes.php' => 'Routes Cache',
|
|
'bootstrap/cache/config.php' => 'Config Cache'
|
|
];
|
|
|
|
foreach ($cacheFiles as $cacheFile => $description) {
|
|
if (file_exists($cacheFile)) {
|
|
echo " ⚠️ Cache vorhanden: $description\n";
|
|
} else {
|
|
echo " ✅ Cache geleert: $description\n";
|
|
}
|
|
}
|
|
|
|
echo "\n✅ Admin-Zugriffe Test abgeschlossen!\n";
|
|
echo "🔗 Testen Sie jetzt:\n";
|
|
echo "1. Melden Sie sich als Admin an (oliver@vogt.de.com)\n";
|
|
echo "2. Prüfen Sie ob Admin-Menü sichtbar ist\n";
|
|
echo "3. Klicken Sie auf 'Admin' → 'Benutzer'\n";
|
|
echo "4. Prüfen Sie ob Admin-Badge neben dem Namen steht\n";
|
|
echo "5. Versuchen Sie direkt auf /admin/users zuzugreifen\n";
|
|
echo "\n📋 Falls Probleme bestehen:\n";
|
|
echo "- Prüfen Sie Browser-Entwicklertools (F12) für Fehler\n";
|
|
echo "- Schauen Sie in die Laravel-Logs: tail -f storage/logs/laravel.log\n";
|
|
echo "- Teilen Sie eventuelle Fehlermeldungen mit\n";
|
|
?>
|