1. Вы отличаете контроллеры от URI-роутинга?
2. Вы понимаете понятие "многоуровневые"?
3. Вы думаете, что "автомат" должен сам догадаться, чтобы сопоставить userName->userController?
Ответ - нет.
Не дай БОГ Вам игровую (и не только!) бизнес-логику веб-приложения получать с клиента (из браузера и т.д.)!
1. Все контрольные точки - проверяем на сервере через socket/ajax.
2. Самая важная проверка - растяжение/сжатие времени: не допускайте телепортации и эффекты матрицы там, где их быть не должно!
3. Валидируйте ВСЕ входные данные перед обработкой через регулярные выражения.