| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| nws 
 цитировать
 
 
 
 Зарегистрирован: 25 Фев 2008 15:42:23
 Сообщения: 96
 
 
 | 
			
				|  Добавлено: 02 Апр 2008 18:57:34    Заголовок сообщения: BasicAuth |   |  
				| 
 |  
				| Скачал пример с регистрацией пользователей, подтвержденим почты, восстановлением пароля, логином с /wiki/Code/Misc/BasicAuth
 
 Раскидал всё по папкам.
 Страничка перестала грузиться.
 Если я удаляю app_controller из app/
 Страничка загружается.
 В чем проблема ?
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| KPOTOB 
 цитировать
 
 
 
 Зарегистрирован: 09 Дек 2007 14:46:20
 Сообщения: 127
 
 
 | 
			
				|  Добавлено: 02 Апр 2008 21:07:58    Заголовок сообщения: |   |  
				| 
 |  
				| Вопросы правильно задавай пожалуйста - какая такая страничка - как не грузится? а что грузится? Телепатов тут нету 
 Опять же нифига не понятно что работает что нет? прошла ли попытка регистрации? прошло ли после подтверждение мыла?
 
 И что такое 'страничка'? Статический .html?
 
 в AppController прописан компонент авторизации (там всего то три строчки кода) - нет AppController - нет авторизации
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| nws 
 цитировать
 
 
 
 Зарегистрирован: 25 Фев 2008 15:42:23
 Сообщения: 96
 
 
 | 
			
				|  Добавлено: 02 Апр 2008 22:49:45    Заголовок сообщения: |   |  
				| 
 |  
				| Не грузится верстка и соответственно данное view 
 Если я удаляю AppController, загружается верстка и соот. view(появляется формы ввода пароля, мыла, captcha)
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| KPOTOB 
 цитировать
 
 
 
 Зарегистрирован: 09 Дек 2007 14:46:20
 Сообщения: 127
 
 
 | 
			
				|  Добавлено: 02 Апр 2008 23:42:14    Заголовок сообщения: |   |  
				| 
 |  
				| значит надо файл поправить |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| nws 
 цитировать
 
 
 
 Зарегистрирован: 25 Фев 2008 15:42:23
 Сообщения: 96
 
 
 | 
			
				|  Добавлено: 03 Апр 2008 19:19:14    Заголовок сообщения: |   |  
				| 
 |  
				| Хз что тут можно подправить =) 
 
  	  | Код: |  	  | <?php
 //
 //
 //
 class AppController extends Controller {
 var $components = array('Auth2');
 // Parameters for AuthComponent
 var $loginRedirect = '/';
 var $userScope = array('User.is_active = 1');
 }
 ?>
 | 
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| KPOTOB 
 цитировать
 
 
 
 Зарегистрирован: 09 Дек 2007 14:46:20
 Сообщения: 127
 
 
 | 
			
				|  Добавлено: 05 Апр 2008 00:25:20    Заголовок сообщения: |   |  
				| 
 |  
				| ХЗ что тебе ответить - задавай вопросы на которые телепатировать не надо (сам то ты не понял телепатического ответа) чтото там гдето там не работает - не есть вопрос
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| Ratso Гость
 цитировать
 
 
 
 
 
 
 
 | 
			
				|  Добавлено: 19 Апр 2008 23:08:12    Заголовок сообщения: |     |  
				| 
 |  
				| Вот все-таки интегрировал данное решение к себе на сайт. Но сразу возник вопрос. У меня на сайте две категории зарегистрированных пользователей: читатели, которые могут писать комментарии и админ сайта,  у которого есть доступ к admin_* функциям контроллеров. В БД у каждого юзера есть поле admin. Если там 1 - значит этот юзер - админ, если нет, то просто пользователь. Проблема в том, что данный пример использует "экзотический" метод использования библиотеки Auth (Auth2).
 Собсвтенно, чтобы Auth (если без Auth2) мог определять кто-есть кто, нужно было в app_controller.php приписать такой код:
 function isAuthorized() {
 if (isset($this->params[Configure::read('Routing.admin')])) {
 if ($this->Auth->user('admin') != 1) {
 return false;
 }
 }
 return true;
 }
 Но в случае использования auth2 это не работает
  Менять строчку $this->Auth->user('admin') != 1 на $this->Auth2->user('admin') != 1 пробовал - не работает...
 Как быть? Что от чего наследуется и куда этот код нужно приписать, чтоб работал? Или придется через beforeFilter все переписывать (затыков еще больше будет
  ) |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| KPOTOB 
 цитировать
 
 
 
 Зарегистрирован: 09 Дек 2007 14:46:20
 Сообщения: 127
 
 
 | 
			
				|  Добавлено: 19 Апр 2008 23:41:05    Заголовок сообщения: |   |  
				| 
 |  
				| Ratso 
  	  | Цитата: |  	  | пробовал - не работает... | 
 
 как не работает? просто 'не работает' или есть всетаки какието признаки\сообщения\отклонения в поведение?
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| Ratso 
 цитировать
 
 
 
 Зарегистрирован: 19 Апр 2008 23:10:04
 Сообщения: 23
 
 
 | 
			
				|  Добавлено: 19 Апр 2008 23:56:26    Заголовок сообщения: |   |  
				| 
 |  
				| Просто если включить DebugMode прекращяет работать функция динамичной генерации картинок - не включить  Но можно проверить... 
 Вообще сайт работает, но любой юзверь может зайти в админку (т.е. по видимому функция игнорируется). Пробовал для проверке написать в теле function isAuthorized() { echo "Функция сработала"; } Но при выводе не заметил, что этот текст выводится...
 
 Добавлено позже: P.S. $this->log("Что-то не работает!", LOG_DEBUG);  в isAuthorized тоже не фиксируется в логах
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| Ratso 
 цитировать
 
 
 
 Зарегистрирован: 19 Апр 2008 23:10:04
 Сообщения: 23
 
 
 | 
			
				|  Добавлено: 20 Апр 2008 17:39:08    Заголовок сообщения: |   |  
				| 
 |  
				| Вопрос решен. Решение:
 В app_controller.php добавить срочку:
 var $authorize = 'controller';
 
 После этого
 function isAuthorized() {
 if (isset($this->params[Configure::read('Routing.admin')])) {
 if ($this->Auth2->user('admin') != 1) {
 return false;
 }
 }
 return true;
 }
 будет работать
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
		| KPOTOB 
 цитировать
 
 
 
 Зарегистрирован: 09 Дек 2007 14:46:20
 Сообщения: 127
 
 
 | 
			
				|  Добавлено: 20 Апр 2008 17:50:19    Заголовок сообщения: |   |  
				| 
 |  
				| Ratso Не судьба почитать сорцы AuthComponent?
 
 Чтобы вызывался в контроллере isAuthorized необходимо чтобы у Auth поле $authorize было не false как по дефолту а 'controller'
 
 При работе через Auth2 это означает что в контроллере надо добавить var $authorize='controller';
 |  | 
	
		| Вернуться к началу |  | 
	
		|  | 
	
	
	
	
		|  |