Торт PHP 3.5 маршрут - PullRequest
       13

Торт PHP 3.5 маршрут

0 голосов
/ 13 июня 2019

У меня есть контроллер, ShareController и метод, view:

class ShareController extends AppController
{

    public  function beforeFilter(Event $event)
    {
    }

    public function index()
    {


    }

    public function view($id)
    {

        die('here');
    }

}

А у меня есть маршрут:

Router::defaultRouteClass(DashedRoute::class);
Router::extensions(['json', 'xml']);
Router::scope('/', function (RouteBuilder $routes) {
    $routes->connect('/forsale/:id', ['controller' => 'Share', 'action' => 'view'])
        ->setPatterns(['id' => '\d+'])
        ->setPass(['id']);;

    $routes->fallbacks(DashedRoute::class);
});

Router::prefix('sitecontrol', function ($routes) {
    $routes->connect('/', ['controller' => 'Admins', 'action' => 'login']);
    $routes->connect('/dashboard', ['controller'=>'Admins','action'=>'dashboard']);
    $routes->connect('/logout', ['controller'=>'Admins','action'=>'logout']);
    $routes->fallbacks('InflectedRoute');
});
/**
 * Load all plugin routes. See the Plugin documentation on
 * how to customize the loading of plugin routes.
 */
Plugin::routes();

Когда я посещаю http://thewebsite/forsale/197, меня перенаправляют на: http://thewebsite/users/login?redirect=%2Fforsale%2F197

Что может быть причиной этого перенаправления? Я ожидаю увидеть «здесь».

Спасибо

1 Ответ

0 голосов
/ 13 июня 2019

Вы перенаправлены на страницу входа из-за модуля аутентификации. Поскольку вы не разрешили действие просмотра для пользователя, не вошедшего в систему, вам необходимо обойти аутентификацию для действия просмотра. Пожалуйста, измените функцию beforefilter следующим образом:

public function beforeFilter(Event $event)
{
    parent::beforeFilter($event);
    $this->Auth->allow('view');
}
...