Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="nws"]Всем привет! Мне надо к форме авторизации подключить капчу, если я пишу: [code]function login() { if ( strtolower($this->data['User']['captcha']) == strtolower( $this->Session->read('captcha')) ) { //redirect 1 } else { //redirect 2 } }[/code] Если был введён правильно логин/пароль и не правильно капча идет redirect1 Можно как-то управлять логином?[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
michas
Добавлено: 14 Апр 2009 11:05:37
Заголовок сообщения:
Перед сохранением пароля в базу его надо хешировать. У вас этого не происходит.
Код:
$this->Auth->hashPasswords($dat1['Admin']);
Перед сохранением.
Igor
Добавлено: 13 Апр 2009 18:35:15
Заголовок сообщения:
тогда если можно, дайте пример. Формы и БД. Если введённые данные совпадают с инфой в БД, тогда редирект на другую страничку, если нет - болт. В примерах мануалов, login() остаётся пустым, ибо кейк1.2 делает всё сам благодаря auth( я так понял по мануалам и тому, что мне рассказывали). Кому не лень, пожалуйста, напишите пример сего действа.
Igor
Добавлено: 13 Апр 2009 12:35:08
Заголовок сообщения:
Дабы не создавать новую тему, буду писать здесь. Задача состоит в создании подобия Адресной книги с 2-мя уровнями доступа (для всех и админа). Отличие лишь в том, что админ может удалять и редактировать записи.
В БД есть 2 таблицы users(информация о людях: ФИО, адрес, мыло итд.) и admins с полями id username password.
Для вывода информации для всех использую MVC users и создаю в отображении форму
Код:
<?php echo $form->create('Admin',array('type'=>'post','action' => 'login')); ?>
<?php echo $form->text('Admin.login'); ?>
<?php echo $form->password('Admin.password');?>
<?php echo $form->end('Login'); ?>
Так же создаю MVC admins.
Далее нужно реализовать переход в Админку с проверкой логина и пароля, который был введён. В этом у меня заключается проблема.
Судя с мануалов, достаточно сделать так:
В контроллере, в котором находится action, написать:
Код:
class AdminsController extends AppController {
var $name = 'Admins';
var $components = array('Auth');
function login() {
}
function logout(){
$this->Session->setFlash('Logout');
$this->redirect($this->Auth->logout());
}
}
и создать файлик app_controller.php, содержимое которого будет:
Код:
<?php
class AppController extends Controller {
var $components = array('Auth');
function beforeFilter(){
//Set up Auth Component
$this->Auth->loginAction = array('controller' => 'admins', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'admins', 'display' => 'home');
$this->Auth->logoutRedirect = '/';
$this->Auth->allow('*');
}
}
И как написано, для cake 1.2 этого достаточно для аутентификации пользователя.
Добавляю в admins пользователя так(метод находится в UsersController):
Код:
function admin_add() {
if (! empty ( $this->data )) {
$dat1['Admin'] = $this->data['User'];
$this->Admin->save($dat1);
if ($this->Admin->save($dat1)) {
$this->Session->setFlash ( __ ( 'The User has been saved', true ) );
$this->redirect ( array ('action' => 'index' ) );
}
else {
$this->Session->setFlash ( __ ( 'The User could not be saved. Please, try again.', true ) );
}
}
}
и view
Код:
<div class="users form">
<?php echo $form->create('User');?>
<fieldset>
<legend><?php __('Add User');?></legend>
<?php
echo $form->input('username');
echo $form->input('password');
?>
</fieldset>
<?php echo $form->end(__('Submit', true));?>
</div>
<div class="actions">
<ul>
<li><?php echo $html->link(__('List Users', true), array('action'=>'index'));?></li>
</ul>
</div>
Но при вводе логина и пароля, как верного так и нет, просто перебрасывает на login() и всё.
Подскажите пожалуйста, где ошибка.
michas
Добавлено: 23 Мар 2009 09:25:19
Заголовок сообщения:
Можно удалять сессию.
Код:
$this->Session->del('Auth');
nws
Добавлено: 21 Мар 2009 22:29:15
Заголовок сообщения: Auth component
Всем привет!
Мне надо к форме авторизации подключить капчу, если я пишу:
Код:
function login()
{
if ( strtolower($this->data['User']['captcha']) == strtolower( $this->Session->read('captcha')) ) {
//redirect 1
}
else
{
//redirect 2
}
}
Если был введён правильно логин/пароль и не правильно капча идет redirect1
Можно как-то управлять логином?
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».