تأمين طرق عرض مكتبة SharePoint القائمة/المستند يبدو (نوع) ممكن مع jQuery

هذه آخر وظيفة في بلدي سلسلة الجاري حول كيفية استخدام jQuery مع شير.
إذا كنت تريد معرفة المزيد حول jQuery, أنا أوصى: jQuery في العمل بيبو الدب ويهودا كاتز.

واحدة من اﻷول الأشياء التي اعتقدت, بمجرد أن بدأت ليتلاعب jQuery, وكان ما إذا نحن يمكن استخدامها للحصول على طريقة عرض SharePoint. الجواب "لا" (أو على الأقل, أنا لا أنا مدعيا أنه من الممكن). ومع ذلك, فمن الممكن بالتأكيد تجعل من الصعب على الناس لمشاهدة طريقة عرض خاصة.

لقد بدأت مع بلدي بيئة رمل عند العمل على هذا. كتبت عن تلك البيئة هنا: سريعة وسهلة: إنشاء jQuery "الخاصة بك" رمل ل SharePoint.

إلى "تأمين" طريقة عرض, اتبع الخطوات التالية:

  1. إنشاء طريقة عرض تريد تأمين. وقد فعلت ذلك، ويطلق عليه "تأمين العرض".

    وهذا ما يبدو عند أنه لم يتم "تأمين":

    image

  2. إضافة جزء ويب محرر محتوى على الصفحة الخاص بطريقة العرض باستخدام الحيلة المذكورة في المقالة رمل (الأول-هاء. إضافة "عرض الصفحة = المشتركة&تولبانيفيو = 2 "إلى عنوان URL).
  3. معرفة _spUserId SharePoint الخاص بك عن طريق اتباع هذه الخطوات مجنون, الاعتقاد أم لا:
    1. تسجيل الدخول إلى بيئة SharePoint الخاصة بك.
    2. في حقل العنوان في مستعرض ويب, نوع: "جافا سكريبت:تنبيه(_spUserId ").
    3. سجل النتيجة (وهو "13" في حالتي).

      image

  4. إضافة javascript التالية إلى سوب الخاص بك في طريقة عرض التعليمات البرمجية:

    <البرنامج النصي نوع ="النص/جافا سكريبت"
        src =".. /.. /jQuery Library/jquery-1.3.2.min.js">
    </البرنامج النصي>
    
    <البرنامج النصي نوع ="النص/جافا سكريبت">
      $(الدالة() {
    
        تنبيه(_spUserId);
    
        فأر ثيسيكوريدفيو = $(' iframe[فيلتيرلينك * = 20View % المضمون]');
    
        إذا كان ((theSecuredView.length > 0) && (_spUserId = = 13))
          $(' iframe[فيلتيرلينك * = 20View % المضمون]').الأصل().الأصل().الأصل().html("<tr bgcolor = أحمر><td>لا رأي لك!</td></tr>");
      });
    
    </البرنامج النصي>
    

لقد تضمنت هذا التنبيه(_spUserId) خط هناك لإظهار كيف أن هذا ليس حقاً "تأمين" طريقة عرض, لكن ببساطة مما يجعل من الصعب أكثر راجع. مزيد من المعلومات حول ذلك في لحظة.

أساسا, مسج تبحث عن iFrame على الصفحة الذي يحتوي على سمة يحتوي على "% 20View" المضمونة في قيمته. حالما تجد أن, ونحن تحقق لمعرفة ما إذا كان المستخدم الحالي "13". إذا كان, نسير حتى دوم إلى <TR> العلامة (وكنت احسب عن طريق عرض مصدر واقتفاء أثر ذلك) ثم استبدال هذا الوسم TR مع رسالتي. حقاً لا أعرف كيف قوية وهذا (أنا مشبوه جداً, في الحقيقة), بل أنها عملت في بلدي رمل. إذا وجدت طريقة أفضل, أنا بلوق عن ذلك. هذه هي النتيجة:

image

النقر فوق الزر "موافق"، ويتم استبدال البيانات برسالة حمراء كبيرة:

image

كما يمكن أن أقول لكم, الطريقة التي كنت تنفيذ هذا الحل "الأمني" السماح لجزء ويب بتقديم نفسه. بعد أن ينتهي, أنا بالكتابة فوق المحتوى الخاص به مع "ليست وجهة نظري لك!"رسالة.

وعلى الرغم من حقيقة أنه ليس حقاً "المضمون '" عرض, أنها يمكن أن تكون مفيدة ومع بعض أعمال ذكية, قد يكون في نهاية المطاف القابل للتأمين من الناحية رسمية أكثر. أن المسألة الأساسية أن العميل الحصول على كافة البيانات ومن ثم, إلا بعد أن يحصل البيانات, فإنه يمحو. إذا كان العميل هو الحصول على البيانات, يمكن الحيلولة دون قيد التشغيل على الإطلاق مسج مستخدم ذكي وانظر ماذا كان يريد أن يرى.

وهناك عيوب أخرى. ويستند هذا النهج "الأمن" قبالة _spUserId. أننا نريد لأمنه حقاً مبنية على نموذج الأمن SharePoint كاملة, أو على الأقل باسم المستخدم. أن يصبح تدريجيا أكثر صعوبة, ولكن أرى بعض الأشياء الجيدة التي كتبت حول هذا الموضوع, ولذلك فإنني أمل أن هناك إجابة جيدة على تلك المشكلة.

وينبغي أن يتم اقتطاعها قائمة وجهات النظر نفسها, إذا كان ذلك ممكناً. لم أحاول أن هذا الرقم. وافترض أنه من الممكن, ولكن حقاً لا يحل المشكلة الأمنية الأساسية لأنه لا يزال مجرد شخص يمكن أن اكتب url الخاص بالقول أنهم يريدون (إذا كانوا على علم بذلك). ومع ذلك, معنى التشذيب. وميزة قابلية استخدام جيد ويساعد على تمويه الأمور. إذا كان مستخدم لا يعرف أن هذا الحدث عرض موجود, أنها ربما لن محاولة لاستخدامه. في بعض الأحيان, هذا أمر جيد بما فيه الكفاية.

مع الحظ, سآخذ أكثر الكتابة عن هذا الموضوع على مر الزمن.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات: ,,

del.icio.us العلامات: ,,

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها *