2013-02-04 11 views
1

Я очень новичок в ion-auth, поэтому извиняюсь заранее, если это глупый вопрос.Ion-auth: переход от администратора к учетной записи пользователя

У меня есть запрос функции от пользователя (администратора), где они хотели бы иметь возможность переключиться на учетную запись другого пользователя, чтобы увидеть приложение с их точки зрения. В данном случае администратор найдет учетную запись пользователя на странице администрирования пользователя в приложении, а затем нажмите кнопку, чтобы эффективно «стать» этим пользователем.

Любые идеи, как это будет достигнуто?

Большое спасибо

Пит

ответ

2

@Pete,

Что вы просите то, что иногда называют "угон" счет.

Существует в настоящее время не функция для этого, но, по сути, что вам нужно сделать, это:

1) уничтожить текущий сеанс

2) восстановить сеанс, как пользователь вы хотите угнать

3) убедитесь, что переменная сеанса logged_in также установлена.


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

Другими словами,

1) выйти из

2) посмотреть на имя пользователя & пароль идентификатора пользователя в

3) Войти непосредственно с этим паролем, а не урезанный вариант

Конечно, вы захотите быть очень осторожными в своей безопасности.

+0

Спасибо за это. Черт. Я надеялся, что это будет нечто простое, как «заменить переменную x в сессии на y, которая является идентификатором целевого пользователя». – Froogle

+0

ну, это то, что есть, по существу, только делается более полно/правильно Если вы посмотрите на ion_auth_model-> set_session ($ user); Думаю, вы могли бы просто установить нового пользователя таким образом. Не могу придумать, как это сломает что угодно. – jmadsen

0

Вам необходимо изменить таблицу users_groups table addin g поле «status», чтобы установить true/false текущую user_group.

Затем обновить модель с функцией, которая делает следующее:

  1. Получить текущую группу и устанавливает его статус ложно.
  2. Получить новую группу и установить его состояние в true.
  3. Перенаправление на домашнюю страницу выбранной группы.

С помощью этого изменения вы можете регенерировать всю сессию данных о пользователях и перемещаться как выбранный пользователь.