【问题标题】:Cake PHP 3.5 routeCake PHP 3.5 路线
【发布时间】:2019-06-13 10:30:16
【问题描述】:

我有一个控制器 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

什么可能导致此重定向?我期待看到“这里”。

谢谢

【问题讨论】:

    标签: cakephp-3.0


    【解决方案1】:

    由于身份验证模块,您被重定向到登录页面。由于您不允许未登录用户的查看操作,您需要绕过身份验证进行查看操作。请修改 beforefilter 函数如下:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2014-07-01
      • 1970-01-01
      相关资源
      最近更新 更多