Я сделал систему входа через ZEND AUTH Вот кодZend сессии и Зенд аутентификации
// userAuthentication
public function authAction(){
$request = $this->getRequest();
$registry = Zend_Registry::getInstance();
$auth = Zend_Auth::getInstance();
$DB = $registry['DB'];
$authAdapter = new Zend_Auth_Adapter_DbTable($DB);
$authAdapter->setTableName('user')
->setIdentityColumn('user_name')
->setCredentialColumn('user_password');
$username = $request->getParam('username');
$password = $request->getParam('password');
$authAdapter->setIdentity($username);
$authAdapter->setCredential($password);
$result = $auth->authenticate($authAdapter);
if($result->isValid()){
$data = $authAdapter->getResultRowObject(null,'password');
$auth->getStorage()->write($data);
$this->_redirect('/login/controlpannel');
}else{
$this->_redirect('/login/login');
}
}
Эта работа в настоящее время штраф. В user (table) есть user_id (столбец), где есть имя пользователя и пароль. Мне нужно, чтобы получить эту конкретную user_id из этой таблицы, только логин и поместить его в сессии через
$user_session = new Zend_Session_Namespace('user_session');
$user_session->username = $username;
$user_id->user_id = $user_id;
так, что я могу запросить некоторую информацию от этого $ user_id и передать результат в поле зрения (имя) ControlPanel
Почему вы хотите провести сеанс вручную? Он будет создавать сеанс после входа в систему, и вы можете получить это из хранилища. –
@Teez как я могу получить user_id из памяти ??? –
$ data = Zend_Auth :: getInstance() -> getStorage() -> read(); $ this-> view-> имя пользователя = $ data-> имя_пользователя; $ this-> view-> id = $ data-> user_id; –