Intereting Posts
Ошибки регулярных выражений в MySQL (такое же регулярное выражение работает в PHP) Как пройти проверку возраста с помощью DOM лучший способ скопировать новые записи из одной базы данных в другую Newbie Проблема с кодировкой PHP: функция заголовка (возможно, мне нужен кто-то, чтобы проверить мой код) Самый эффективный способ изменить хэш-тип пароля (md5-sha1) session_start () не работает с mac Установка Php-intl на XAMPP Как получить размер изображения из базы 64 строки в php Добавление числа дробей дает разные результаты в PHP Проблемы расчета подписи для API Amazon Marketplace Может ли PHP OpenSSL генерировать пары частных / открытых ключей / сертификатов? почему эта ошибка файла class.phpmailer.php? Как создать токен состояния подделки анти-запроса. В регистрации google + на стороне сервера PHP короткий хаш, как URL-сокращение сайтов Как создать цифровой сертификат и экспортировать в файл .p12 в PHP?

LdapAuth в cakephp 2.0

Я пытаюсь запрограммировать LdapAuthentication, и мне нужна помощь.

Сначала мне нужно настроить «$ components» в / app / Controller / Component / AppController.php

<?php class AppController extends Controller { var $components = array('Auth' => array( 'Ldap', 'authError' => 'Not allowed here', 'authenticate' => array('Form' => array( 'fields' => array( 'username' => 'username', 'password' => 'password', 'domain' => 'domain' ) ) ), 'authorize' => true, ), 'Session'); } ?> 

Затем я создаю LdapAuthorize.php, например http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#creating-custom-authorize-objects

  <?php App::uses('BaseAuthorize', 'Controller/Component/Auth'); class LdapAuthorize extends BaseAuthorize { public function authorize($user, CakeRequest $request) { echo "test"; } } ?> 

Но когда я пытаюсь войти с

  if ($this->Auth->login()) { return $this->redirect($this->Auth->redirect()); } else { $this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth'); } 

cakephp не использует мою функцию авторизации.

Что я делаю неправильно? Пожалуйста помоги.

Вот рабочий класс Ldap Auth для 2.0.x

https://github.com/analogrithems/idbroker/tree/dev_cake2.0

с сообщением в блоге с подробным описанием здесь:

http://www.analogrithems.com/rant/2012/01/03/cakephp-2-0-ldapauth/

** ТАКЖЕ **

Ваша конфигурация Auth неверна – ключ авторизации принимает строку или массив – логическое значение true не собирается ничего делать.

Если вы хотите, чтобы он проверял действие isAuthorized в контроллере, установите его так:

 <?php ... public $components = array( 'Auth' => array( ... 'authorize' => array( 'Controller' ), ... )); ?> 

Здесь вы передаете логический параметр и не имеете функции isAuthorized в своем AppController. Кроме того, вы используете старый синтаксис php4 для объявления своих переменных-членов (используйте public, protected или private вместо «var»)