У меня есть инструмент онлайн-сервиса, где сами пользовательские регистры и используют его.
У меня есть панель административного контроля для этого сервиса. Иногда, когда пользователи говорят нам некоторые странные вещи о данных и usuability, мы должны проверить их, как будто они входили в систему...
таким образом, я решил иметь страницу в панели администрации, поскольку 'входят в систему как xx пользователь', где xx является пользователем нашего сервиса..
Я сделанный это путем простой установки переменных сессий для той конкретной учетной записи пользователя и обхода опции входа в систему.. Когда я закончил тестировать, я выхожу из системы и снова вхожу в систему как администратор, чтобы сделать другие операции..
Но теперь я не должен выходить из системы и затем входить в систему как администратор после каждый раз, я вошел в систему как другой пользователь..
Я могу установить две одновременных сессии за один раз для единственной страницы/сервиса???
(т.е.) на одной вкладке браузера я действую как администратор, и на другой вкладке я буду действовать как пользователь?
Любые идеи..
Я помню 've замеченный phpbb использование их...
Сессия - это своего рода глобально доступный массив, вы можете разделить внешние и внутренние сеансы следующим образом:
<?php
$_SESSION['frontend']['logged_id'] = true;
$_SESSION['backend']['logged_id'] = false;
?>
Ваш скрипт поможет мне дать вам более подробный пример кода.
Обновление
$ _ SESSION ['my_CID'] = $ cid;
session_destroy ()
или unset ($ _ SESSION);
. Вот код:
<?php
foreach ($_SESSION as $key => $value)
{
if (substr($key, 0, 3) == 'my_')
{
continue;
}
unset($_SESSION[$key]);
}
?>
У вас не может быть двух разделенных сеансов, но вы можете просто добавить дополнительную переменную к пользовательскому сеансу, которая сообщает, что вы вошли в систему как администратор.
Несколько идей:
То, что вы ищете с помощью этой аргументации, по сути, является кладжем.
Вам нужно надежное решение, и для этого я предлагаю такую схему: поддерживать переменные сеанса для:
Итак, когда администратор хочет войдите как тот, кого вы установили последние два. Ваша безопасность обычно должна проверять последние два. Доступ к админке должен быть основан на первых двух.
Я не знаю, можно ли использовать это решение вашей проблемы, но если вы используете firefox, вы можете запустить браузер два раза с двумя разными профилями. У вас не будет приложений на одной вкладке, но, по крайней мере, у вас будет один и тот же браузер с разными сеансами. Если вы скопируете старый профиль, у вас также должна быть такая же история и плагины.
Вам придется использовать «-P -no-remote» в качестве дополнительных параметров к исполняемому файлу firefox, если вы решите это сделать.
Я думаю, что может быть два решения:
Во-первых, если у вас есть администратор и служба как два разных приложения, они будут управлять каждым своим сеансом. Если ваша услуга не разработана таким образом или если изменение будет стоить очень дорого, это не очень хороший вариант.
Во-вторых, что предпочтительнее, вы можете установить в объекте сеанса два объекта, один для администратора, а другой для службы.