0

这就是我想要实现的目标:单击产品-> 注册-> 结帐我有一个页面,您可以在其中选择产品,并且所有产品链接都转到checkout控制器并通过 URL 传递参数。例如domain.com/checkout/product-name

但是,我希望用户在使用结帐控制器之前登录,所以很自然地,我在结帐控制器中拒绝了$this->Auth->deny('index')beforeFilter()。现在,当我尝试访问结帐控制器时,它会将我重定向到登录页面。有没有办法让我把它转到注册页面?

4

1 回答 1

1

loginAction在 $components 声明(控制器或 AppController)中设置变量以指定控制器+操作:

public $components = array(
    'Auth' => array(
        'loginAction' => array(
            'controller' => 'users',
            'action' => 'login',
            'plugin' => 'users'
        ),
        'authError' => 'Did you really think you are allowed to see that?',
        'authenticate' => array(
            'Form' => array(
                'fields' => array('username' => 'email')
            )
        )
    )
);

参考:http ://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#configuring-authentication-handlers

于 2012-04-16T07:47:40.543 回答