Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Default_Model_UserAuth {
- public function isAuthorised($request) {
- $form = new Default_Form_Login();
- if ($request->isPost()) {
- if ($form->isValid($request->getPost())) {
- $values = $form->getValues();
- $salt = $this->getSalt($values['username']);
- $encryptedPassword = $this->getEncryptedPassword($values['password'], $salt);
- if ($this->authenticate($values['username'], $encryptedPassword)) {
- return true;
- }
- }
- }
- return false;
- }
- public function authenticate($username, $encryptedPassword) {
- // Get our authentication adapter and check credentials
- $adapter = $this->getAuthAdapter();
- $adapter->setIdentity($username);
- $adapter->setCredential($encryptedPassword);
- $auth = Zend_Auth::getInstance();
- $result = $auth->authenticate($adapter);
- if ($result->isValid()) {
- $user = $adapter->getResultRowObject();
- $auth->getStorage()->write($user);
- return true;
- }
- return false;
- }
- public function getAuthAdapter() {
- $dbAdapter = Zend_Db_Table::getDefaultAdapter();
- $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
- $authAdapter->setTableName('users')
- ->setIdentityColumn('username')
- ->setCredentialColumn('password');
- return $authAdapter;
- }
- public function getEncryptedPassword($password, $salt) {
- return sha1($password . $salt);
- }
- public function getSalt($username) {
- $dbAdapter = Zend_Db_Table::getDefaultAdapter();
- $result = $dbAdapter->fetchRow($dbAdapter
- ->select()
- ->from('users', 'salt')
- ->where('username = ?', $username)
- );
- return $result['salt'];
- }
- }
Add Comment
Please, Sign In to add comment