Предоставлено session["session_id"]
Можно ли найти зарегистрированный в User
, к которому относится эта сессия?Как я могу найти пользователя с помощью идентификатора сеанса?
ответ
По крайней мере, на моей системе (рельсы 3.2, разработать 2.0.4), вы можете сделать это следующим образом:
session
является:
{"session_id"=>"be02f27d504672bab3408a0ccf5c1db5", "_csrf_token"=>"DKaCNX3/DMloaCHbVSNq33NJjYIg51X0z/p2T1VRzfY=", "warden.user.user.key"=>["User", [3], "$2a$10$5HFWNuz5p6fT3Z4ZvJfQq."]}
session["warden.user.user.key"][1][0]
, то есть 3
.
Итак, я нашел бы это как:
User.find(session["warden.user.user.key"][1][0])
On Rails 4.2.1, Devise 3.4.1 вы хотите использовать User.find (session ["warden.user.user.key"] [0] [0]) –
Спасибо. Этот пример уродлив, но он работает. Еще раз спасибо. Этот пример для файлов cookie: http://stackoverflow.com/a/43549108/5754223 – artamonovdev
Я не уверен, что вы пытаетесь сделать, но будет пытаться ответить
Если вы хотите только пользователь с текущей сессии , простой способ будет хранить его идентификатор на сессии, например:
def login(username, pass)
# do the usual authentication stuff and get user
if logedin
session[:user_id] = user.id
end
end
Затем получить текущий пользователь будет что-то вроде
current_user =User.find(session[:user_id])
Если то, что вы хотите это найти всех пользователей, которые в настоящее время вошли в систему, я думаю, что вам нужно конфигурации вашего приложения, чтобы сохранить сессию в БД, потому что предопределено, что данные сеанса хранят в куки в браузере , Для получения дополнительной информации об этом проверить этот ответ How to track online users in Rails?
EDIT: Просто заметил, что вы используете изобрести так первый способ на самом деле там для вас. Вам просто нужно вызвать метод current_user
на любом контроллере. Для второго варианта проверьте этот ответ "Who's Online" using Devise in Rails
- 1. Как найти имя пользователя из идентификатора сеанса?
- 2. Как я могу запросить имя пользователя для данного идентификатора сеанса через API с помощью C#?
- 3. Проверка состояния сеанса с помощью идентификатора сеанса
- 4. Как я могу найти пользователя django из кэшированного backend-сеанса
- 5. Регистрация идентификатора сеанса пользователя с помощью перехватчика javax
- 6. Как я могу найти местоположение GEO пользователя с помощью ASP.NET?
- 7. Функция, чтобы найти имя пользователя из идентификатора сеанса
- 8. Как я могу работать с данными сеанса Django для хранения идентификатора пользователя?
- 9. Сохранение идентификатора пользователя в переменной сеанса
- 10. Обработка идентификатора сеанса с помощью Spring
- 11. Как я могу совместить взорванное значение с идентификатором сеанса пользователя?
- 12. Как получить имя пользователя/SID из идентификатора сеанса в Windows?
- 13. Отслеживание входа пользователя с помощью идентификатора пользователя
- 14. Недействить все сеансы с помощью идентификатора пользователя с помощью PHP
- 15. Могу ли я получить конкретный URL-адрес экземпляра Salesforce с помощью идентификатора сеанса Salesforce?
- 16. Как извлечь объект сеанса из идентификатора сеанса?
- 17. Как сохранить данные пользователя с помощью сеанса
- 18. Я не могу повторить имя пользователя сеанса, правильно ли я сохраняю имя пользователя и идентификатор сеанса?
- 19. Как я могу получить текущий токен пользователя для физического сеанса?
- 20. OAuth - Могу ли я получить фотографию пользователя Google с помощью идентификатора пользователя?
- 21. sql Как я могу получить имя пользователя из идентификатора видения?
- 22. Как идентификатор сеанса найти текущий идентификатор пользователя
- 23. Yii2 удаленный выход из сеанса пользователя с текущего сеанса пользователя
- 24. Как я могу перечислить открытые окна (~ EnumWindows) другого сеанса пользователя
- 25. Как получить переменные сеанса с использованием идентификатора сеанса
- 26. Как получить имя пользователя с помощью идентификатора пользователя Microsoft?
- 27. Как реализовать пользователя входа в Wordpress с помощью идентификатора пользователя
- 28. Получение идентификатора сеанса
- 29. Как я могу уведомить пользователя о завершении сеанса в asp.net?
- 30. Gatling2: Как я могу прочитать из сеанса виртуального пользователя
Вместо этого вы можете использовать User.current_user ... вы пытались? –