Điểm:1

Tiêm dịch vụ vào dịch vụ khác không hoạt động

lá cờ jm

tôi phải ghi đè lên bộ đệm trang dịch vụ để có một số logic xác thực tùy chỉnh được thực thi cho người dùng ẩn danh. Vấn đề là tôi có miền dịch vụ của mô-đun domain.negotiator được tiêm vào bộ đệm trang dịch vụ, nhưng khi tôi gọi domain.negotiator dịch vụ nó luôn luôn vô giá trị bất kể tôi làm gì. Tôi nghĩ rằng nó phải làm với một cái gì đó với ưu tiên. Tôi có thể xác nhận dịch vụ bị ghi đè đang được thực thi.

Mã để ghi đè TrangCache dịch vụ

/**
   * {@inheritdoc}
   */
  chức năng công cộng thay đổi (ContainerBuilder $container) {
    // Ghi đè lớp language_manager để kiểm tra đàm phán ngôn ngữ miền.
    $definition = $container->getDefinition('http_middleware.page_cache');
    $definition->setClass('Drupal\hcl_login\StackMiddleware\StaticCache')->addArgument(
      Tài liệu tham khảo mới ('domain.negotiator'),
    );
  }

dịch vụ bị ghi đè

/**
   * {@inheritdoc}
   */
  xử lý hàm công khai(Yêu cầu $request, $type = self::MASTER_REQUEST, $catch = TRUE): Phản hồi {
    $domain = \Drupal::service('domain.negotiator');
    $x = $this->domainNegotiator->getActiveDomain();
    $currentDomain = \Drupal::service('entity_type.manager')->getStorage('domain')->createHostname();
    $response = parent::handle($request, $type, $catch);
    trả lại phản hồi $;
  }

4uk4 avatar
lá cờ cn
Ngay cả khi nó trông giống như một dịch vụ, phần mềm trung gian không phải là dịch vụ Drupal, nó chạy bên ngoài nhân Drupal.
Jaswin Singh avatar
lá cờ jm
Cảm ơn, @4k4 đã trả lời, Có cách giải quyết nào để đạt được điều đó không. Ban đầu, tôi đang sử dụng đăng ký sự kiện KERNAL:: REQUEST để thêm logic xác thực tùy chỉnh cần chạy trên mỗi trang cho người dùng ẩn danh, nhưng do bộ nhớ đệm drupal, các Trang đã được lưu vào bộ đệm và không thể thực hiện được.
4uk4 avatar
lá cờ cn
Cách giải quyết để làm gì? Bộ nhớ cache của trang giống như bộ nhớ đệm proxy ngược dựa trên URL (nhân tiện bao gồm cả tên miền và chuỗi truy vấn). Nếu đây không phải là điều bạn muốn thì hãy gỡ cài đặt mô-đun này và sử dụng bộ đệm trang động.
leymannx avatar
lá cờ ne
Còn `$request->getHost()` hoặc `$request->getSchemeAndHttpHost()` thì sao?
Jaswin Singh avatar
lá cờ jm
@leymannx Tuy nhiên, tôi cần dịch vụ người dùng để kiểm tra xem dịch vụ nào luôn hiển thị người dùng ẩn danh, tôi đã thử với người đăng ký sự kiện nhưng khi tôi đặt mức độ ưu tiên thành 210, tôi không thể truy cập dịch vụ.
Jaswin Singh avatar
lá cờ jm
Một vấn đề khác là khi sử dụng người đăng ký sự kiện, các trang sẽ được lưu vào bộ nhớ cache và xác thực tùy chỉnh không được thực thi mỗi lần.

Đă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.