Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 апр 2024, 04:48

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 12 май 2013, 23:28 
Не в сети
Новичок

Зарегистрирован: 06 мар 2013, 00:11
Сообщения: 29
Как в Kohana 3.2 добавить новую роль?

В таблицу roles добавляю новую роль например 'manager'. Работает вот так:
Код:
if ($status)
{
    if(
Auth::instance()->logged_in('admin'))
    {
        
$this->request->redirect('admin');
    }
}
 


либо:
Код:
if ($status)
{
    if(
Auth::instance()->logged_in())
    {
        
$this->request->redirect('admin');
    }

    
// ...

}
 


Как сделать чтобы работал этот код?

Как проверить несколько ролей, например роль 'admin' и роль 'manager'
Код:
public function action_login()
{
    if (isset(
$_POST['submit']))
    
// Так не пробовали?
    // if ($this->request->post('submit'))
    
{
        
$data Arr::extract($_POST, array('username''password''remember'));
        
$status Auth::instance()
                    ->
login($data['username'], $data['password'], (bool) $data['remember']);

        if (
$status)
        {
            if (
Auth::instance()->logged_in('admin'))
            {
                
$this->request->redirect('admin');
            }

            
$this->request->redirect('admin/auth');
        }
        else
        {
            
$errors = array(Kohana::message('validation','no_user'));
            
$this->template->errors $errors;
        }

    }
}
 


Последний раз редактировалось Sergey 13 май 2013, 03:01, всего редактировалось 1 раз.
Привёл код в читаемый вид исправил грамматические ошибки, добавал недостающие слова, исправил пунктуацию и морфологию, перефразировал вопросы, удалил повторения, придал смысл проблеме описанной в посте


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 12 май 2013, 23:37 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
а вы роли и пользователей не путаете?

что такое RBAC
http://ru.wikipedia.org/wiki/%D0%A3%D0% ... 0%B5%D0%B9

в kohana 3.3 так $this->request->redirect('admin') не работает, надо так $this->redirect('admin') , и это редирект на страницу admin и к ролям отношения не имеет

описание модуля авторизации
http://kohana3.ru/module/auth

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 12 май 2013, 23:57 
Не в сети
Новичок

Зарегистрирован: 06 мар 2013, 00:11
Сообщения: 29
нет нет не путаю

это все понятно
в kohana 3.3 так $this->request->redirect('admin') не работает, надо так $this->redirect('admin') , и это редирект на страницу admin и к ролям отношения не имеет

kohana 3.2 все работает вы же сами зашли админку

auth нужно чтобы работал

ролем дапуситм несколко рольями

а не толко admin или login

таблице ролей есть 2 роля поумолчанию

admin и login

хочу чтобы довавить на пример demo или manager

и auth работал несколько роьями

здесь admin это роль
Код:
          

 if ($status){
                if(Auth::instance()->logged_in('admin')) {
               $this->request->redirect($url);
                }
либо так работает все роли
 if ($status){
                if(Auth::instance()->logged_in()) {
               $this->request->redirect($url);
                }
либо так работает пускает у кого роль login
 if ($status){
                if(Auth::instance()->logged_in('login')) {
               $this->request->redirect($url);
                }



как видно пускает только ролем либо admin , либо login либо всех

а надо и admin, manager, demo, editor и т.д

Код:

      if(Auth::instance()->logged_in() ) {
            $this->request->redirect('admin');
      }


было вот так поэтому ты набирав norayr norayr попал админку

шас логином и паролем norayr norayr
можно толко в fronend части


Последний раз редактировалось norayrx 13 май 2013, 00:15, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 00:14 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
понял теперь, передаем массивом Auth::instance()->logged_in( array('admin','manager'))

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 00:16 
Не в сети
Новичок

Зарегистрирован: 06 мар 2013, 00:11
Сообщения: 29
да так пробывал что то не получается я про это читал:)

но все таки еше раз папробую:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 00:29 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
у вас просто с русским беда полная, возможно я вас неправильно понял, таким образом мы проверяем наличие данных ролей у пользователя, если же надо проверять есть ли у пользователя роль админ или менеджер, то наверное как-то так:
Код:
$auth = Auth::instance();
if ($auth->logged_in('admin') OR $auth->logged_in('manager'))

может есть какое-то более изящное решение, но я с ним не знаком т.к. не использую стандартный auth orm

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 00:46 
Не в сети
Новичок

Зарегистрирован: 06 мар 2013, 00:11
Сообщения: 29
ок спасибо вроде все заработала, ну за русский извини

хотя я думаю даже на разных языках в коде все понятно :)

так все работает может кому то еше понадобится kohana 3.2
Код:

            $status = Auth::instance()->login($data['username'], $data['password'], (bool) $data['remember']);

           if ($status){
                if(Auth::instance()->logged_in('admin') OR Auth::instance()->logged_in('demo')) {
               $this->request->redirect('admin');
                }else  $this->request->redirect('admin/auth');
            }


Последний раз редактировалось norayrx 13 май 2013, 00:52, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 00:48 
Не в сети
Новичок

Зарегистрирован: 06 мар 2013, 00:11
Сообщения: 29
а какой auth лучше тогда? может есть другое решение AUTH + ACL? или что то другое?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 00:51 
Не в сети
Новичок

Зарегистрирован: 06 мар 2013, 00:11
Сообщения: 29
а стоит ли обновить kohana 3.2 до kohana 3.3? и проблемы не будут?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: В kohana 3.2 как добавить новый роль
СообщениеДобавлено: 13 май 2013, 01:59 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
я пока еще только изучаю кохану и мне сложно сказать какая версия лучше, по логике всегда лучше использовать последнюю стабильную версию, у коханы это 3.3 поэтому я её и разбираю. Спросите у Сергея, он с ней давно работает, может что-то более конкретное расскажет.

а какой auth лучше тогда? не знаю честно говоря, я в вашей теме по смс как раз привел ссылку на свою тему по поиску идеальной на мой взгляд системы, готовой я не нашел, пишу теперь сам.

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 74


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group