Cho session["session_id"]
là có thể tìm thấy đăng nhập User
mà phiên đó thuộc về?Làm cách nào tôi có thể tìm thấy người dùng được tạo bởi id phiên của nó?
Trả lời
Ít nhất trên hệ thống của tôi (đường ray 3.2, đưa ra 2.0.4), bạn có thể làm điều đó như thế này:
session
là:
{"session_id"=>"be02f27d504672bab3408a0ccf5c1db5", "_csrf_token"=>"DKaCNX3/DMloaCHbVSNq33NJjYIg51X0z/p2T1VRzfY=", "warden.user.user.key"=>["User", [3], "$2a$10$5HFWNuz5p6fT3Z4ZvJfQq."]}
session["warden.user.user.key"][1][0]
, sau đó là 3
.
Vì vậy, tôi muốn thấy nó như:
User.find(session["warden.user.user.key"][1][0])
Trên Rails 4.2.1, Devise 3.4.1 bạn sẽ muốn sử dụng User.find (phiên ["warden.user.user.key"] [0] [0]) –
Cảm ơn. Ví dụ này là xấu, nhưng nó hoạt động. Cảm ơn một lần nữa. Ví dụ này cho cookie: http://stackoverflow.com/a/43549108/5754223 – artamonovdev
Tôi không chắc chắn những gì bạn đang cố gắng để thực hiện nhưng sẽ cố gắng trả lời
Nếu bạn muốn chỉ có người dùng từ phiên hiện tại , một cách đơn giản sẽ được lưu trữ id của mình trên phiên, ví dụ:
def login(username, pass)
# do the usual authentication stuff and get user
if logedin
session[:user_id] = user.id
end
end
Sau đó được người dùng hiện thời sẽ là một cái gì đó giống như
current_user =User.find(session[:user_id])
Nếu những gì bạn muốn là tìm tất cả những người dùng hiện đang đăng nhập, tôi nghĩ rằng bạn cần phải cấu hình ứng dụng của bạn để lưu phiên tại DB, vì xác định trước là dữ liệu phiên được lưu trữ trong cookie trong trình duyệt . Để biết thêm thông tin về vấn đề này kiểm tra câu trả lời này How to track online users in Rails?
EDIT: Chỉ cần nhận thấy bạn đang sử dụng đưa ra vì vậy cách đầu tiên là thực sự ở đó đợi em. Bạn chỉ cần gọi phương thức current_user
ở bất kỳ bộ điều khiển nào. Cách thứ hai kiểm tra câu trả lời này "Who's Online" using Devise in Rails
- 1. Làm thế nào tôi có thể tìm thấy đường dẫn thực tế được tìm thấy bởi BFS?
- 2. jQuery - làm cách nào tôi có thể tìm thấy phần tử có id nhất định?
- 3. Không thể tìm thấy người dùng '', bởi vì nó không tồn tại hoặc bạn không có quyền
- 4. Làm thế nào tôi có thể tìm thấy kích thước của bộ nhớ được tham chiếu bởi một con trỏ?
- 5. Tôi làm cách nào để tìm các bản sửa đổi được thực hiện bởi một người dùng Subversion cụ thể?
- 6. Phiên có thể sửa đổi được bởi khách hàng/người dùng không?
- 7. lệnh bash curl không tìm thấy. Tôi có thể tìm thấy nó ở đâu?
- 8. Tôi làm cách nào để có được id người dùng được liên kết với thông tin đăng nhập trên Linux?
- 9. Không thể tìm thấy ID bố cục cho <1% người dùng?
- 10. Cách truy cập cookie của khách hàng (với ID phiên) được tạo bởi node.js Express?
- 11. Làm thế nào để có được Id phiên Trong C#
- 12. Làm cách nào để tạo tệp .ics kiểu iCal có thể được tải xuống bởi người dùng khác?
- 13. Người dùng dùng phiên của người dùng khác khi phiên được lưu trữ trong memcached (Rails)
- 14. Làm cách nào để tôi có thể đặt một tệp có thể ghi bởi tất cả người dùng?
- 15. làm thế nào tôi có thể tìm thấy phiên bản của codeigniter một ứng dụng được viết bằng?
- 16. Tôi làm cách nào để lọc danh sách được gửi bởi nhiều người dùng trong Perforce?
- 17. Làm thế nào mã của tôi có thể tìm thấy nếu nó đang chạy bên trong IIS?
- 18. Làm thế nào tôi có thể tìm thấy OWNER của một đối tượng trong Oracle?
- 19. jQuery tìm ID của nút được nhấp bởi lớp
- 20. Làm thế nào tôi có thể tìm thấy một người dùng với tham số GUID (objectGUID) trong Active Directory
- 21. Làm cách nào để tôi có thể thu thập ID của những người dùng Facebook thích 'bài đăng' trong trang người hâm mộ của tôi?
- 22. Làm cách nào ứng dụng của tôi có thể tìm thấy người gửi tin nhắn cửa sổ?
- 23. Làm thế nào để có được ID của người dùng nút chỉ cần nhấp?
- 24. Làm thế nào tôi có thể nhận được trực quan có thể nhìn thấy của UITableView?
- 25. Làm thế nào có được ID thông báo khi người dùng nhập vào bạn app
- 26. Tôi làm cách nào để có được tên đăng nhập mạng của người dùng?
- 27. jQuery - làm thế nào tôi có thể tìm thấy nếu một id có một chuỗi cụ thể?
- 28. Tôi có nên sử dụng tên người dùng hoặc ID của người dùng để tham chiếu đến người dùng được xác thực trong ASP.NET
- 29. Làm thế nào tôi có thể tìm thấy sự kết hợp của hai truy vấn Django?
- 30. Django - làm thế nào tôi có thể tìm thấy khoảng cách giữa hai địa điểm?
Bạn có thể sử dụng User.current_user thay thế ... bạn đã thử chưa? –