authSessionKey() public static method

認証用のキーを取得
public static authSessionKey ( string $prefix = 'admin' ) : mixed
$prefix string
return mixed
Esempio n. 1
0
 /**
  * 偽装ログイン処理
  * 
  * @param $id ユーザーIDとユーザーグループID
  * - 1 システム管理者
  * - 2 サイト運営
  */
 public function login($id)
 {
     session_id('baser');
     // 適当な文字列を与え強制的にコンソール上でセッションを有効にする
     $this->Favorite->setSession(new SessionComponent(new ComponentCollection()));
     $prefix = BcUtil::authSessionKey('admin');
     $this->Favorite->_Session->write('Auth.' . $prefix . '.id', $id);
     $this->Favorite->_Session->write('Auth.' . $prefix . '.user_group_id', $id);
 }
 /**
  * ログイン状態にする
  *
  * @return void
  */
 protected function _login()
 {
     $User = ClassRegistry::init('User');
     $user = $User->find('first', array('conditions' => array('User.id' => 1)));
     unset($user['User']['password']);
     $this->BcBaser->set('user', $user['User']);
     $user['User']['UserGroup'] = $user['UserGroup'];
     $sessionKey = BcUtil::authSessionKey('admin');
     $_SESSION['Auth'][$sessionKey] = $user['User'];
 }
Esempio n. 3
0
 /**
  * ログインユーザーのデータを取得する
  * 
  * @return array
  */
 public static function loginUser($prefix = 'admin')
 {
     $Session = new CakeSession();
     $sessionKey = BcUtil::authSessionKey($prefix);
     $user = $Session->read('Auth.' . $sessionKey);
     if (!$user) {
         if (!empty($_SESSION['Auth'][$sessionKey])) {
             $user = $_SESSION['Auth'][$sessionKey];
         }
     }
     return $user;
 }
Esempio n. 4
0
 /**
  * アクセス権があるかチェックする
  * 
  * @param array $check
  */
 public function isPermitted($check)
 {
     if (!$this->_Session) {
         return true;
     }
     $url = $check[key($check)];
     $prefix = BcUtil::authSessionKey('admin');
     $userGroupId = $this->_Session->read('Auth.' . $prefix . '.user_group_id');
     if ($userGroupId == Configure::read('BcApp.adminGroupId')) {
         return true;
     }
     $Permission = ClassRegistry::init('Permission');
     return $Permission->check($url, $userGroupId);
 }
Esempio n. 5
0
 /**
  * ログインしているユーザー名を取得
  */
 public function testLoginUserName()
 {
     // ログインしていない場合
     $result = BcUtil::loginUserName();
     $this->assertEmpty($result, 'ログインユーザーのデータを正しく取得できません');
     // ログインしている場合
     session_id('baser');
     // 適当な文字列を与え強制的にコンソール上でセッションを有効にする
     $Session = new CakeSession();
     $Session->write('Auth.' . BcUtil::authSessionKey() . '.name', 'hoge');
     $result = BcUtil::loginUserName();
     $this->assertEquals('hoge', $result, 'ログインユーザーのデータを正しく取得できません');
 }