Score:2

ฉันจะเปลี่ยนบัญชีผู้ใช้เป็น drush เพื่อทดสอบสิทธิ์ได้อย่างไร

ธง ph

ฉันกำลังเล่นกับโมดูล D9 Groups และฉันต้องการทดสอบการควบคุมการเข้าถึงใน drush ไม่ว่าจะใช้ drush php หรือเขียนสคริปต์และใช้ drush scr

ใน drush 8 ฉันมักจะใช้ drush -u เพื่อเรียกใช้ในฐานะผู้ใช้เฉพาะ แต่ตัวเลือกนั้นดูเหมือนจะหายไปใน drush 10

วิธีใดที่ง่ายที่สุดในการเรียกใช้ drush ในฐานะผู้ใช้เฉพาะหรือสลับผู้ใช้ใน drush php หรือสคริปต์

แก้ไข: ฉันกำลังแก้ไขปัญหานี้โดยโทรหา json:api endpoints แทน แต่มันก็ยังดีที่จะตรวจสอบสิ่งนี้ใน drush

cn flag
ฉันรู้ว่าคุณกำลังขอ Drush แต่ก็น่าสังเกตว่าโมดูล Devel มีบล็อกสำหรับการสลับผู้ใช้ ซึ่งจะมีประโยชน์ในสภาพแวดล้อม dev ในเครื่อง
Lambic avatar
ph flag
ใช่ การทดสอบในเบราว์เซอร์นั้นใช้ได้ แต่ฉันต้องทดสอบที่ระดับ cli หรือ api โดยเฉพาะ
Score:0
ธง cn

สวัสดี ในการทดสอบของคุณ คุณสามารถใช้บริการสลับบัญชี @ core/lib/Drupal/Core/Session/AccountSwitcherInterface.php

ตัวอย่างเช่น,

// คุณสามารถเปลี่ยนไปใช้บัญชีประเภทใดก็ได้ที่นี่
$this->accountSwitcher->switchTo(เซสชันผู้ใช้ใหม่(['uid' => 1]));

// การใช้ try-catch- ในที่สุด เรามั่นใจว่าเราจะไม่ทิ้งมันไปโดยไม่ได้ตั้งใจ
พยายาม {
  // อะไรก็ตามที่คุณต้องการทดสอบ
}
จับ (\ ข้อยกเว้น $e) {
  $this->logger->get(self::MODULE_NAME)->error($e->getMessage());
} ในที่สุด {
  // ตรวจสอบให้แน่ใจว่าเราสลับกลับเสมอ สำคัญมากหากคุณใช้ u1
  $this->accountSwitcher->switchBack();
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา