Điểm:0

Đã tải sai trang người dùng sau khi user_login_finalize()/user_logout()

lá cờ de

Tôi có mô-đun tùy chỉnh đăng nhập của bên thứ ba gọi user_login_finalize() sau khi xác thực và user_logout() khi đăng xuất. Cả hai chức năng này đều hoạt động trừ khi người dùng đăng nhập/đăng xuất từ ​​đường dẫn/người dùng trong Drupal, thì trang sẽ tải phiên bản của trang/người dùng lẽ ra phải hiển thị trước khi đăng nhập/đăng xuất. Vì vậy, khi đăng nhập, trang hiển thị cảnh báo trái phép lúc đầu cho đến khi trang được tải lại. Khi đăng xuất, trang hiển thị thông tin hồ sơ người dùng đã có khi người dùng đăng nhập.

Mã này chạy trong một người đăng ký sự kiện cho KernelEvents::REQUEST (xác thực của tổ chức tôi hoạt động theo cách mà trạng thái liệu người dùng có được xác thực hay không có thể thay đổi bên ngoài trang web Drupal của tôi bất kỳ lúc nào và cần được kiểm tra trước khi tải nội dung).

Tôi không chắc liệu sự cố có liên quan đến chuyển hướng đăng nhập của bên thứ ba hay bộ đệm của Drupal hay không, nhưng có điều gì khác cần được xóa hoặc đặt lại sau khi sử dụng các chức năng này không? Tôi cố tình sử dụng chúng để tránh viết mã trùng lặp từ những gì đã có trong Drupal.

Jaypan avatar
lá cờ de
Âm thanh như một vấn đề bộ nhớ đệm. Cụ thể là bộ đệm trang ẩn danh. Hãy thử tắt mô-đun đó và xem sự cố có biến mất không. Nếu đúng như vậy, bạn có thể cần thiết lập một số ngữ cảnh bộ đệm hoặc thậm chí tắt bộ nhớ đệm cho trang đó.
4uk4 avatar
lá cờ cn
Bạn đã đặt mã này ở đâu? Thông thường, điều này chạy trong bộ điều khiển hoặc trình xử lý gửi trả về một chuyển hướng để tạo trang chính xác cho người dùng mới đăng nhập hoặc đăng xuất.
apaderno avatar
lá cờ us
Khi người dùng đăng xuất, họ vẫn được chuyển hướng đến/người dùng hay URL xuất hiện trên thanh địa chỉ của trình duyệt khác nhưng trang được hiển thị là trang hồ sơ người dùng? Trong trường hợp đầu tiên, chính chuyển hướng gây ra điều đó; trong trường hợp thứ hai, đó là sự cố với bộ nhớ cache của trang.
Anton avatar
lá cờ de
Tôi đã cập nhật mô tả để giải quyết các nhận xét/câu hỏi.Tóm lại, đây là một mô-đun tùy chỉnh và tôi gọi mã trong một người đăng ký sự kiện cho KernelEvents::REQUEST. Đây là vấn đề về bộ nhớ đệm của trang/người dùng theo như tôi có thể biết. Có cách nào để tắt bộ đệm người dùng ẩn danh chỉ cho trang/tuyến đường này không?
Điểm:1
lá cờ cn

Mã này chạy trong một người đăng ký sự kiện cho KernelEvents::REQUEST (của tôi xác thực của tổ chức hoạt động theo cách mà trạng thái của liệu người dùng có được xác thực hay không có thể thay đổi bên ngoài trang web Drupal của tôi tại bất kỳ lúc nào và cần được kiểm tra trước khi tải nội dung).

Nếu trạng thái xác thực đã thay đổi thì hãy đặt phản hồi chuyển hướng để tạo trang mới sau khi bạn đã tạo phiên mới hoặc hủy phiên hiện có thông qua các chức năng mô-đun người dùng mà bạn đã đề cập:

$response = new RedirectResponse(Url::fromRoute('<current>')->toString());
$event->setResponse($response);

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.