Sadece yeni projemizin kullanıcı yönetimi bileşeni üzerinde çalışıyorum. plandır:CakePHP 2.0 Hesap Etkinleştirmesinden Sonra Otomatik Oturum Açma
- Kullanıcı hesabı verileri az miktarda (kullanıcı adı, pas, e-posta)
- Kullanıcı
- Kullanıcı tıkladığında hesabını etkinleştirmek için bir etkinleştirme bağlantısını içeren bir e-posta alır Sayfadaki kaydeder bağlantı ve
Ancak, otomatik giriş ile ilgili bazı sorunlar var. Eğer Kimlik Doğrulama Bileşeni kullanıcı() fonksiyonu ile kullanıcı giriş yapmış hakkında bilgi almak istiyorum kadar bu, şimdiye kadar çalışır
<?php
...
// set userstatus to "active" and delete meta information "activation_key"
// then automatically login
$this->User->id = $id;
$this->User->saveField('modified', date('Y-m-d H:i:s'));
$this->User->saveField('status', 1);
// $this->User->deleteActivationKey ....
$this->Auth->login($this->User->read());
$this->Session->setFlash(__('Successfully activated account. You are now logged in.'));
$this->User->saveField('last_login', date('Y-m-d H:i:s'));
$this->redirect(array('controller' => 'pages'));
...
: Bu i kullanmak kod parçasıdır. Biz, AppController-> beforeRender bu kullandığınız
geniş kullanıcı bilgileri uygulama alanına sahip:
$this->set('auth', $this->Auth->user());
ama bu oto giriş eyleminden sonra, ben tanımsız endeks bildirimleri alıyorum. (ör. görünümde $ auth ['id'] 'ye erişerek). print_r() sadece geçerli kullanıcının sadece kullanıcı adını ve hashed şifresini gösterir. El ile giriş yaparsanız, her şey yolunda çalışır. Hesap aktivasyonundan sonra otomatik giriş ile bir şey olmalı.
Oturumda bir sorun mu var? Neyi yanlış yapıyorum?
Sadece şunu kullanabilirsiniz: $ this-> Auth-> login ($ user ['User']); –