Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从索引添加用户不会';不能使用CakePhp_Php_Mysql_Cakephp_Web_Cakephp 2.0 - Fatal编程技术网

从索引添加用户不会';不能使用CakePhp

从索引添加用户不会';不能使用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

我使用的是CakePHP2.3,并试图允许用户从主页创建一个帐户。我是cakephp新手,到目前为止,我遵循了这里描述的实现:

现在,每次访问索引页面(localhost)时,我都会被重定向到用户/登录页面。我已经在AppsController中修改了components数组,但是如果我没有包含Auth组件,那么当我在USerController中调用函数add时,就会在非对象错误上调用成员函数allow()。我不知道如何继续。现在,我的AppController类如下所示:

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(){

 }