从索引添加用户不会';不能使用CakePhp
我使用的是CakePHP2.3,并试图允许用户从主页创建一个帐户。我是cakephp新手,到目前为止,我遵循了这里描述的实现: 现在,每次访问索引页面(localhost)时,我都会被重定向到用户/登录页面。我已经在AppsController中修改了components数组,但是如果我没有包含Auth组件,那么当我在USerController中调用函数add时,就会在非对象错误上调用成员函数allow()。我不知道如何继续。现在,我的AppController类如下所示:从索引添加用户不会';不能使用CakePhp,php,mysql,cakephp,web,cakephp-2.0,Php,Mysql,Cakephp,Web,Cakephp 2.0,我使用的是CakePHP2.3,并试图允许用户从主页创建一个帐户。我是cakephp新手,到目前为止,我遵循了这里描述的实现: 现在,每次访问索引页面(localhost)时,我都会被重定向到用户/登录页面。我已经在AppsController中修改了components数组,但是如果我没有包含Auth组件,那么当我在USerController中调用函数add时,就会在非对象错误上调用成员函数allow()。我不知道如何继续。现在,我的AppController类如下所示: class App
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array('controller' => 'posts', 'action' => 'index'),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),
'authorize' => array('Controller') // Added this line
)
);
public function beforeFilter() {
$this->Auth->allow('index', 'view');
}
}
我只想从索引页面添加一个新的用户行。有什么想法或其他建议阅读吗?谢谢 将主页/by配置为使用posts/index操作
Router::connect('/', array('controller' => 'posts', 'action' => 'index'));
另外,我猜您没有在主页使用的控制器中调用父::beforeFilter()。允许在AppController中执行操作是个坏主意,因为这只会打开安全问题。有一天,您需要一个不应该是公共的索引,并且忘记它,否则您必须更改所有allow()调用
但是,为什么要在posts上下文中登录?那是错误的。与用户相关的操作应属于正确的上下文:用户控制器和模型。如果添加键“authorize”,我认为应该定义函数“isAuthorized”,如下所述: 默认索引页的外观如何 如果页面控制器显示的是defaut“home.ctp”,则必须允许“display”作为允许的操作:
$this->Auth->allow('index', 'view', 'display');
HTH转到app->config->routes.php并将操作更改为@burzum所说的索引 然后转到您的UsersController或PostsController,无论您的控制器是什么,在这样的预筛选之前调用它
<?php
class UsersController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
}
public function index(){
}