ดูเหมือนว่ามุมมองไลบรารี SharePoint รายการ/เอกสารการรักษาความปลอดภัย (การเรียงลำดับของ) สุด ด้วย jQuery

เป็นไปรษณีย์อื่นในของฉัน ชุดนอน วิธีการใช้ jQuery กับ SharePoint.
ถ้าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ jQuery, ขอแนะนำ: jQuery ในการดำเนินการ โดยหมี Bibeault ทซ Yehuda.

หนึ่งในสิ่งแรกที่คิด, เมื่อผมเริ่มเล่นกับ jQuery, ไม่ว่า เราสามารถใช้มันเพื่อดู SharePoint. คำตอบคือ "ไม่" (หรือน้อย, ผมไม่เป็นว่า เป็นไปได้). อย่างไรก็ตาม, แน่นอนสามารถทำให้คนดูโดยเฉพาะ.

ผมเริ่ม ด้วยสภาพแวดล้อมของฉัน sandbox เมื่อทำงานนี้. ผมเขียนเกี่ยวกับสภาพแวดล้อมที่นี่: ง่าย และรวดเร็ว: สร้างเองของ jQuery Sandbox สำหรับ SharePoint.

"ปลอดภัย" มุมมอง, ทำตามขั้นตอนเหล่านี้:

  1. สร้างมุมมองที่คุณต้องการจองห้องพัก. ฉันไม่ว่า และเรียกว่า "มุมมองที่ปลอดภัย".

    นี่คืออะไรมันเหมือนเมื่อมันเป็น "บ่อยๆ":

    image

  2. เพิ่ม web part ตัวแก้ไขเนื้อหาของดูหน้าใช้เทคนิคที่อธิบายไว้ในบทความ sandbox (อาทิ. เพิ่ม " PageView =ใช้ร่วมกัน&ToolPaneView = 2 "ไป URL).
  3. คิดออก _spUserId SharePoint ของคุณ โดยทำตามขั้นตอนเหล่านี้บ้า, เชื่อ หรือไม่:
    1. เข้าสู่ระบบ SharePoint ของคุณ.
    2. ในฟิลด์ที่อยู่ของเว็บเบราว์เซอร์, ชนิด: "javascript:การแจ้งเตือน(_spUserId").
    3. บันทึกผล (มันเป็น "13" ในกรณีของฉัน).

      image

  4. เพิ่ม javascript ดังต่อไปนี้เพื่อ CEWP ของคุณในมุมมองโค้ด:

    <สคริปต์ชนิด ="ข้อ ความ/javascript"
        src =".. /.. /jQuery Library/jquery-1.3.2.min.js">
    </สคริปต์>
    
    <สคริปต์ชนิด ="ข้อ ความ/javascript">
      $(ฟังก์ชัน() {
    
        การแจ้งเตือน(_spUserId);
    
        var theSecuredView = $(' iframe[FilterLink * = 20View %มีความปลอดภัย]');
    
        ถ้า ((theSecuredView.length > 0) && (_spUserId == 13))
          $(' iframe[FilterLink * = 20View %มีความปลอดภัย]').หลัก().หลัก().หลัก().html("<tr bgcolor =สีแดง><td>ไม่มองหา!</td></tr>");
      });
    
    </สคริปต์>
    

ผมได้รวมแจ้งเตือน(_spUserId) รายการมีการสาธิตวิธีนี้ไม่เป็นจริง ๆ "รักษาความปลอดภัย" มุมมอง, แต่ก็ทำให้ยากต่อการดู. ข้อมูลเพิ่มเติมเกี่ยวกับในช่วงที่.

โดยทั่ว, jQuery หา iFrame บนหน้าที่มีแอททริบิวต์ที่ประกอบด้วย "Secured % 20View" ในค่า. เมื่อมันพบว่า, เราตรวจสอบดูว่าผู้ใช้ปัจจุบัน "13". ถ้าเป็น, เราเดินขึ้นโดมเพื่อเป็น <TR> แท็ก (ซึ่งผมคิดว่า โดยดูต้นทาง และติดตามเรื่อง) แล้ว แทนที่แท็ก TR กับข้อความของฉัน. จริง ๆ อย่าแข็งวิธีนี้คือ (ผมสงสัยมาก, อันที่จริง), แต่ทำงานใน sandbox ของฉัน. หากพบวิธีที่ดีกว่า, ผมจะเขียนบล็อกเกี่ยวกับ. นี้เป็นผล:

image

คลิกปุ่มตกลง และข้อมูลจะถูกแทนที่ ด้วยข้อความสีแดงขนาดใหญ่:

image

ตามที่คุณสามารถบอก, วิธีผมใช้วิธีนี้ "ความปลอดภัย" จะให้ web part แสดงเอง. หลังจากเสร็จสิ้นการ, ฉันเขียนทับเนื้อหาของฉัน "ไม่มองคุณ!"ข้อความ.

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

มีข้อเสียอื่น ๆ. วิธีการนี้ "ปลอดภัย" อยู่ปิด _spUserId. เราต้องการจริง ๆ ทางตามโมเดลความปลอดภัยของ SharePoint ทั้งหมด, หรือน้อย โดยชื่อผู้ใช้. ที่เป็นความก้าวหน้ายาก, แต่เห็นบางสิ่งดีที่เขียนในเรื่องนี้, ดังนั้นฉันมีความหวังมีคำตอบที่ดีที่ปัญหา.

ควรตัดรายการของมุมมองเอง, ถ้าเป็นไปได้. ไม่พยายามที่จะคิดที่ออก. ผมถือว่า เป็นไปได้, แต่จริง ๆ ไม่แก้ปัญหาความปลอดภัยพื้นฐานเนื่องจากคนอาจยังคงเพียงแค่พิมพ์ URL ของมุมมองที่พวกเขาต้องการ (ถ้าพวกเขารู้). อย่างไรก็ตาม, ตัดแต่งที่เหมาะสม. เป็นคุณลักษณะใช้งานดี และช่วยการ obfuscate สิ่ง. ถ้าผู้ใช้ไม่ทราบว่า ดูเหตุการณ์อยู่, พวกเขาคงไม่พยายามจะใช้. บางที, ดีพอ.

มีโชค, จะมีเพิ่มเติมจะเขียนในเรื่องนี้เมื่อเวลาผ่าน.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

แท็กของ Technorati: ,,

Tags:ล็อกอินเข้า: ,,

ทิ้งคำตอบไว้

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *