Я пытаюсь использовать usercontroller с логином и админом. У меня есть следующие настройки:
Dashboard -> Admin
Users -> Overview of users section on admin
login -> Login before admin area
signup -> Signup before admin area
Контроллер пользователей находится в папке Dashboard для администратора. Этот контроллер содержит все, что угодно: просматривать / добавлять / редактировать / удалять пользователей.
Но я не могу использовать там логин и sigup, так как путь другой.
Вот как выглядит мой rout.php:
Router::prefix('dashboard', function ($routes) {
$routes->connect('/', ['controller' => 'Dashboard', 'action' => 'index']);
$routes->prefix('users', function ($routes) {
$routes->connect('/users', ['controller' => 'Users', 'action' => 'index']);
$routes->connect('/users', ['controller' => 'Users', 'action' => 'profile']);
$routes->connect('/users', ['controller' => 'Users', 'action' => 'groups']);
$routes->connect('/groups', ['controller' => 'Groups', 'action' => 'index']);
$routes->connect('/groups/:action/*', ['controller' => 'Groups']);
});
$routes->prefix('sc', function ($routes) {
$routes->connect('/announcements', ['controller' => 'Announcements', 'action' => 'index']);
$routes->connect('/announcements/:action/*', ['controller' => 'Announcements']);
$routes->connect('/push-notifications', ['controller' => 'Push', 'action' => 'index']);
$routes->connect('/settings', ['controller' => 'appsettings', 'action' => 'index']);
});
$routes->prefix('web', function ($routes) {
$routes->connect('/pages', ['controller' => 'web', 'action' => 'pages']);
$routes->connect('/websettings', ['controller' => 'websettings', 'action' => 'index']);
});
$routes->fallbacks(DashedRoute::class);
});
Router::scope('/', function (RouteBuilder $routes) {
$routes->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true
]));
$routes->applyMiddleware('csrf');
$routes->connect('/', ['controller' => 'Users', 'action' => 'login', 'home']);
$routes->connect('/signup', ['controller' => 'Users', 'action' => 'signup']);
$routes->fallbacks(DashedRoute::class);
});
Итак, пути выглядят так:
http://localhost:8765/dashboard/users
http://localhost:8765/users/login
http://localhost:8765/users/signup
То, что я хотел бы, чтобы было 2 последних пункта:
http://localhost:8765/login
http://localhost:8765/signup
Насколько я знаю, я не могу использовать 2 пользовательских контроллера. Так как я могу иметь логин / подписку вместе со всем потоком пользователей в одном контроллере, но не в пути.
Приветствия