这看起来很琐碎,但我真的找不到可以改变的地方。 我想使用我的“播放器”模型而不是用户,但每次我继续播放/播放/登录时,它会将我重定向到“缺少控制器”页面并将更改链接到/ users / login。
我试过了:
public $components = array(
'Session',
'Auth' => array(
'authenticate' => array('all' => array('userModel' => 'Player'))
)
);
和
function beforeFilter() {
$this->Auth->authenticate = array('all' => array('userModel' => 'Player'));
}
编辑:已解决
'loginAction' => array('controller' => 'players', 'action' => 'login')
在$ components数组帮助,我认为:D
答案 0 :(得分:4)
我想问题是你没有提供身份验证系统。您提供了一些设置,可用于所有将要选择的身份验证系统,但您还没有选择一个(您必须提供至少一个,如Form,Basic,Digest,ecc ..)。
$this->Auth->authenticate = array(
'all' => array('userModel' => 'Member'),
'Form',
'Basic'
);
(或$components
数组中的相同)
答案 1 :(得分:0)
你应该这样做
public $components=array(
'Session',
'Auth'=>array(
'authenticate'=>array(
'Form'=>array(
'userModel'=>'Player',
)
),
'loginAction'=>array('controller'=>'Players', 'action'=>'login'),
答案 2 :(得分:0)
在控制器中使用此代码:
public $components = array(
'Auth' => array(
'loginRedirect' => array(
'controller' => 'applications',
'action' => 'index'
),
'logoutRedirect' => array(
'controller' => 'applications',
'action' => 'login'
),
'authenticate' => array(
'Form' => array(
'passwordHasher' => 'Blowfish',
'userModel' => 'Application'
)
),
)
);
不需要为beforeFilter()函数添加任何代码。 $ components加载Auth conponent。
由于 Sujay