情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

サイトレビューサイト制作への道その11

管理者ログインを作る

1.管理者用画面にIDとパスワードを設定する

2.まとめ

1.管理者用画面にIDとパスワードを設定する

かーなり久しぶりの投稿になります。順調に進むかと思われたこのサイトにも筆者の卒業制作という魔の手が、、、なんてことは忘れて今回は管理者のためのログインを作っていきたいと思います。

まず「SitesController」の準備としてこちらを追記します。

 public $components = array('Session','Auth');
    
    public function beforeFilter() { 
        parent::beforeFilter();
        
        //Basic Auth
        $this->Auth->authenticate = array('Basic');
    }
    
      public function beforeSave($options = array()) {
        $this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
        //parent::beforeSave($options);
        return true;
    }

続いて「UserController」とModelに「Users」を制作します。 「UserController」は

<?php

App::uses('AppController', 'Controller');
App::uses('AuthComponent', 'Controller/Component');
/**
 * Sites Controller
 *
 * @property Site $Site
 * @property PaginatorComponent $Paginator
 */
//グローバル変数
class UsersController extends AppController {
    public $scaffold = "";

    public function index(){
        //これがパスワードになります
     var_dump(AuthComponent::password('ここにパスワードを書きます'));
     
    }
    
    
}
?>

Modelの「Users」はこうなります

<?php
App::uses('AuthComponent', 'Controller/Component');
class User extends AppModel {
    //ハッシュ化して保存する
    public function beforeSave($options = array()) {
        $this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
        //parent::beforeSave($options);
        return true;
    }
}

?>

これでとりあえずはログインが出来ます。ただ本格的にするにはまたまたbakeをして設定する必要があります。

2.まとめ

ログインをしっかりと作ってそのうち一般公開はしたいなと思います。