伙计们我在服务器上上传了自己的网站,我遇到了这个问题。
Usercontroller.php
<?php
class UsersController extends AppController {
var $name = 'Users';
var $components = array('Auth', 'Acl');
function beforeFilter(){
//parent::beforeFilter();
$this->Auth->loginError = "asdad!";
$this->Auth->authError = "sdsd !.";
App::uses('CakeEmail', 'Network/Email');
$this->Auth->userModel = 'User';
$this->Auth->allow('login','register','login','step2','TakeId','kontakt');
}
function login(){
if(!empty($this->data)){
$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']);
$sprawdz = $this->User->find('first',array('conditions'=>array('User.username'=>$this->request->data['User']['username'],'User.password'=>$this->request->data['User']['password'])));
echo debug($sprawdz);
if(!empty($sprawdz)){
if($this->Auth->login($this->request->data)){
$this->redirect('/');
echo debug('you are log in!') ;
}
}
else {
$this->User->invalidate('username', 'mistake!');
}
}
}
function logout(){
$this->Auth->logout();
$this->redirect('/');
}
}
用户/ login.ctp
<?php echo $this->Session->flash('auth'); ?>
<?php echo $this->Form->create('User'); ?>
<fieldset>
<?php echo $this->Form->input('username');
echo $this->Form->input('password'); ?>
</fieldset>
<?php echo $this->Form->end(__('Log in')); ?>
就像Auth根本不起作用。在localhost很好。另外,用户/索引是空页:)
任何想法都会很棒。感谢。
答案 0 :(得分:1)
保持简单,follow the tutorial显示如何使用auth组件。
例如,试试这个:
function login(){
if ($this->request->is('post')) {
if ($this->Auth->login()) {
$this->Session->setFlash('You have successfully logged in the system');
return $this->redirect('/');
}
$this->Session->setFlash(__('Invalid username or password, try again [warning]'));
}
}
另请确保Security.Salt负责使用应用程序的盐值哈希密码
你没有在usersController中定义任何索引函数,这就是它抛出错误的原因。尝试启用调试模式,以便跟踪错误
答案 1 :(得分:0)
在您登录的第二行添加$ this-&gt; request-&gt;数据 -
function login(){
if(!empty($this->request->data)){
$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']);
$sprawdz = $this->User->find('first',array('conditions'=>array('User.username'=>$this->request->data['User']['username'],'User.password'=>$this->request->data['User']['password'])));
echo debug($sprawdz);
if(!empty($sprawdz)){
if($this->Auth->login()){
$this->redirect('/');
echo debug('you are log in!') ;
}
}
else {
$this->Session->setFlash('Invalid username or password');
}
}
}