Codeigniter: 2 приложения с одним центральным экраном входа - PullRequest
1 голос
/ 02 сентября 2010

Я пишу приложение в CodeIgniter и пришел к выводу, что лучше всего написать два приложения.Один для бэк-офиса и один для использования клиентом.

Я хотел бы иметь только один экран входа в систему.Это будет в приложении бэк-офиса, но если пользователь-клиент войдет в систему, я хочу перенаправить его в клиентское приложение и создать там сеанс.В таблице пользователей базы данных хранится тип пользователя, т.е. клиент или администратор.

Я пришел к следующему решению.Поскольку я хочу, чтобы это было правильно, я сказал, что вы, ребята, запустите его, чтобы увидеть, что вы думаете.

  • Пользователь входит в приложение администратора CI.
  • Приложение Admin CI подтверждаетПользователь и определяет тип.Если администратор, затем создайте сеанс и т. Д.
  • Если пользователь является клиентом, то MD5 (user_ip + timestamp ИЛИ создайте безопасный токен другим способом) и сохраните его в поле токена (user_table) в БД.
  • перенаправить пользователя администратору клиента через страницу входа.Параметрами будут токен и имя пользователя.Затем функция входа в систему отправляется к этому пользователю в базе данных и проверяет токен.
  • При успешной авторизации токена клиентское приложение CI запускает сеанс и пропускает пользователя.

Это похоже на очень длинный метод.В идеале был бы способ начать сеанс для одного приложения CI из другого?

Есть идеи?

Спасибо.

Ответы [ 3 ]

1 голос
/ 02 сентября 2010

После того как вы проверили администратора или клиента, я бы использовал класс сеанса CodeIgniter с таблицей ci_sessions в вашей базе данных.

http://codeigniter.com/user_guide/libraries/sessions.html

Затем, чтобы отличить пользователей от клиента или сотрудника, добавьте переменную в сеанс.

$this->session->set_userdata('user_type', 'client');

Тогда просто используйте это, если вам когда-нибудь понадобится.

0 голосов
/ 03 сентября 2010

Возможно, стоит проверить BackEndPro для CodeIgniter, может сэкономить вам много времени.

Включает в себя:

  • Аутентификация пользователя с регистрацией и активацией учетной записи
  • Разрешения пользователя с использованием ACL (списки контроля доступа)
  • Администраторский интерфейс администратора для редактирования Настройки для всего сайта
  • Встроенный Matchbox (для модульной разработки)
  • Библиотека активов (оптимизация, кеширование и загрузка JS & CSS)
  • ReCAPTCHA
  • Сообщения о состоянии (информация / успех / предупреждение / сообщения об ошибках для пользователя)
0 голосов
/ 02 сентября 2010

Я бы хотел сделать 2 приложения в рамках HMVC (Hierarchical-Model-View-Controller).

Учебное пособие по CodeIgniter HMVC

Затем вы можете использовать одни и те же сеансы в нескольких приложениях, а также использовать одни и те же модели для управления пользователями и т. Д.

HMVC помогает вам модульно модифицировать ваши приложения, поэтому, если вы хотите добавить больше приложений в будущем, вы можете легко сделать это, передавая те же сеансы и тому подобное.

Я ответил на ваш вопрос в большем объеме, один центральный логин с 2 приложениями, лучше всего это сделать с HMVC.

:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...