代码之家  ›  专栏  ›  技术社区  ›  beingalex

蛋糕PHP 3.5路线

  •  0
  • beingalex  · 技术社区  · 6 年前

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

    是什么导致了这种重定向?我期待着看到“这里”。

    谢谢

    0 回复  |  直到 6 年前
        1
  •  0
  •   Dhananjay Kyada    6 年前

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

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