neonail-database/test-admin-access.php
2025-08-10 18:09:07 +02:00

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";
?>