Бывает так что необходимо разлогинить пользователя для смены прав или еще чего-то там.
Вот
Да все просто если мы хотим разлогинить пользователя значит он залогинен (круть) и для него доступно CUserOptions::SetOption
итак все что надо - это сделать такую запись
Код |
---|
\CUserOptions::SetOption("altbroker3", "logout", "Y", false, $USER_ID); |
Где $USER_ID - и есть пользователь которого надо разлогинить
далее в init.php пишем:
Код |
---|
AddEventHandler("main", "OnBeforeProlog", "chek_user_logout"); function chek_user_logout(){ global $USER; if(CUserOptions::GetOption("altbroker3", "logout") == "Y" && $USER->IsAuthorized()){ CUserOptions::SetOption("altbroker3", "logout", "N", false); $USER->Logout(); } } |
как только пользователь обратится на сервер сработает проверка есть ли запись в таблице со значением logout => "Y"
и если есть меняем ее на N и разлогиниваем пользователя!