Changing the default login setup with CakePHP
我有一个我认为是相对普遍的问题,但是在研究了这个问题之后,它似乎没有想象中的那么容易。
我有一个CakePHP应用程序(使用版本1.2.7),并且我正在尝试使用Auth Component更改标准登录过程。我想使用一个永久的登录屏幕(例如这个Jquery插件:http://web-kreation.com/demos/Sliding_login_panel_jquery/),我的用户将使用该屏幕登录。
在Cake术语中,我希望能够从/ pages /主屏幕登录到Auth组件,但是Cakephp始终重定向到/ users / login。
在我的应用控制器中:
1 2 3 4 5 6 7 8 9 | function beforeFilter() { ... $this->Auth->loginAction = array( 'controller' => 'users', 'action' => 'login' ); $this->Auth->loginRedirect = array( 'controller' => 'pages', 'action' => 'home' ); $this->Auth->logoutRedirect = array( 'controller' => 'pages', 'action' => 'home' ); $this->Auth->autoRedirect = false; ... } |
如果我将loginAction更改为/ pages / home。登录不起作用,实际上它甚至都不会发布到/ users / login方法。不完全确定发生了什么。
我的问题是这个:
如何制作位于www.EXAMPLE.com/的登录表单,成功登录和失败登录将返回相同的位置?
我不希望它重定向到/ users / login或根本不显示在URL中。
更改由"身份验证"设置的默认登录URL。
在
中进行更改
1 2 3 4 5 | public $loginAction = array( 'controller' => 'users', //Change here 'action' => 'login', 'plugin' => null ); |
如果将$ this-> Auth-> autoRedirect设置为false,则必须在login()方法中手动重定向。也来看看这个。
要更改表单提交的位置,只需更改表单中的提交网址,就这么简单。
然后,您可以加载页面并检查